XII Release 0.1.0
Loading...
Searching...
No Matches
xiiPickingRenderPass Class Reference
Inheritance diagram for xiiPickingRenderPass:
[legend]

Public Member Functions

xiiSharedPtr< xiiGALTextureGetPickingIdRT () const
 
xiiSharedPtr< xiiGALTextureGetPickingDepthRT () const
 
virtual xiiResult GetResourceDescriptions (const xiiView &view, const xiiArrayPtr< xiiRenderPipelinePassResource *const > pInputs, xiiArrayPtr< xiiRenderPipelinePassResource > pOutputs) override
 Must be implemented by each pass to describe the GPU resources it requires on its output pins.
 
virtual xiiResult InitializeRenderPipelinePass (const xiiView &view, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pInputs, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pOutputs) override
 Called once before the first execution to allow the pass to initialize itself based on the graph and view context.
 
virtual void Execute (const xiiRenderViewContext &renderViewContext, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > inputs, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > outputs) override
 Must be implemented by derived classes to perform the pass's actual rendering or processing logic.
 
virtual void ReadBackProperties (xiiView *pView) override
 Allows the pass to update scene or view properties after rendering (e.g., exposure, feedback).
 
- Public Member Functions inherited from xiiGraphicsPipelinePass
 xiiGraphicsPipelinePass (xiiStringView sName, xiiBitflags< xiiRenderPipelinePassCapabilityFlags > capabilityFlags)
 
void RenderDataWithCategory (const xiiRenderViewContext &renderViewContext, xiiRenderData::Category category)
 
- Public Member Functions inherited from xiiRenderPipelinePassBase
 xiiRenderPipelinePassBase (xiiStringView sName, xiiBitflags< xiiRenderPipelinePassCapabilityFlags > capabilityFlags)
 Constructor to define a named render pass with required capability flags.
 
virtual ~xiiRenderPipelinePassBase ()
 Virtual destructor.
 
void SetName (xiiStringView sName)
 Assigns the user-visible name of the pass.
 
void SetPassFlags (xiiBitflags< xiiRenderPipelinePassFlags > flags)
 Sets additional flags that describe how the pass behaves or should be scheduled.
 
void SetPassConcurrencyHint (xiiEnum< xiiRenderPipelinePassConcurrencyHint > concurrencyHint)
 Provides a hint to the graph scheduler regarding parallel execution potential.
 
virtual xiiResult Serialize (xiiStreamWriter &inout_stream) const
 Serializes the internal pass configuration (not resource or runtime state).
 
virtual xiiResult Deserialize (xiiStreamReader &inout_stream)
 Restores the internal pass configuration from serialized data.
 
virtual xiiSharedPtr< xiiGALDeviceObjectQueryResourceProvider (const xiiRenderPipelineNodePin *pPin, const xiiRenderPipelineResourceRequest &request)
 Allows a pass to override resource creation for one of its outputs, typically to reuse or share GPU resources.
 
virtual void ExecuteInactive (const xiiRenderViewContext &renderViewContext, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pInputs, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pOutputs)
 Called instead of Execute() if the pass is inactive (e.g., temporarily disabled or culled).
 
XII_ALWAYS_INLINE xiiStringView GetName () const
 Returns the name of this render-pipeline pass.
 
XII_ALWAYS_INLINE xiiBitflags< xiiRenderPipelinePassCapabilityFlagsGetCapabilityFlags () const
 Retrieves the render pipeline pass capability flags.
 
XII_ALWAYS_INLINE xiiBitflags< xiiRenderPipelinePassFlagsGetPassFlags () const
 Returns the bitmask of flags describing this render-pipeline pass.
 
XII_ALWAYS_INLINE xiiEnum< xiiRenderPipelinePassConcurrencyHintGetPassConcurrencyHint () const
 Retrieves the concurrency hint for scheduling this render-pipeline pass.
 
XII_ALWAYS_INLINE bool IsStereoAware () const
 Determines whether this pass correctly handles stereo/XR rendering.
 
XII_ALWAYS_INLINE xiiRenderPipelineGetPipeline ()
 Retrieves the owning render pipeline for this pass.
 
XII_ALWAYS_INLINE const xiiRenderPipelineGetPipeline () const
 Retrieves the owning render pipeline for this pass (const overload).
 
- Public Member Functions inherited from xiiRenderPipelineNode
void InitializePins ()
 Populates the internal arrays of input and output pins.
 
xiiHashedString GetPinName (const xiiRenderPipelineNodePin *pPin) const
 Returns the hashed name associated with a given pin.
 
const xiiRenderPipelineNodePinGetPinByName (xiiStringView sName) const
 Finds a pin by its string name.
 
const xiiRenderPipelineNodePinGetPinByName (xiiHashedString sName) const
 Finds a pin by its hashed name.
 
XII_ALWAYS_INLINE const xiiArrayPtr< const xiiRenderPipelineNodePin *const > GetInputPins () const
 Retrieves all input pins of this node.
 
XII_ALWAYS_INLINE const xiiArrayPtr< const xiiRenderPipelineNodePin *const > GetOutputPins () const
 Retrieves all output pins of this node.
 
- Public Member Functions inherited from xiiReflectedClass
virtual const xiiRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const xiiRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T>
XII_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Public Attributes

bool m_bPickSelected = true
 
bool m_bPickTransparent = true
 
xiiVec2 m_PickingPosition = xiiVec2(-1)
 
xiiUInt32 m_PickingIdOut = 0
 
float m_PickingDepthOut = 0.0f
 
xiiVec2 m_MarqueePickPosition0 = xiiVec2(-1)
 
xiiVec2 m_MarqueePickPosition1 = xiiVec2(-1)
 
xiiUInt32 m_uiMarqueeActionID = 0xFFFFFFFF
 
xiiUInt32 m_uiWindowWidth = 0
 
xiiUInt32 m_uiWindowHeight = 0
 

Additional Inherited Members

- Static Public Member Functions inherited from xiiNoBase
static const xiiRTTIGetStaticRTTI ()
 

Member Function Documentation

◆ Execute()

void xiiPickingRenderPass::Execute ( const xiiRenderViewContext & renderViewContext,
const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pInputs,
const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pOutputs )
overridevirtual

Must be implemented by derived classes to perform the pass's actual rendering or processing logic.

Called once per frame (and per view, if applicable).

Inputs and outputs are guaranteed to be valid and resolved GPU handles.

Implements xiiRenderPipelinePassBase.

◆ GetResourceDescriptions()

xiiResult xiiPickingRenderPass::GetResourceDescriptions ( const xiiView & view,
const xiiArrayPtr< xiiRenderPipelinePassResource *const > pInputs,
xiiArrayPtr< xiiRenderPipelinePassResource > pOutputs )
overridevirtual

Must be implemented by each pass to describe the GPU resources it requires on its output pins.

The graph compiler uses this to allocate or pool GPU resources like textures, samplers, and buffers. Derived passes should populate each entry in pOutputs with the corresponding resource description.

Implements xiiRenderPipelinePassBase.

◆ InitializeRenderPipelinePass()

xiiResult xiiPickingRenderPass::InitializeRenderPipelinePass ( const xiiView & view,
const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pInputs,
const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pOutputs )
overridevirtual

Called once before the first execution to allow the pass to initialize itself based on the graph and view context.

This is typically used to:

  • Resolve input/output resource handles from connections.
  • Cache relevant view properties.
  • Prepare internal state (e.g., sampler bindings, descriptor layouts).

Reimplemented from xiiRenderPipelinePassBase.

◆ ReadBackProperties()

void xiiPickingRenderPass::ReadBackProperties ( xiiView * pView)
overridevirtual

Allows the pass to update scene or view properties after rendering (e.g., exposure, feedback).

Reimplemented from xiiRenderPipelinePassBase.


The documentation for this class was generated from the following files: