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

Public Member Functions

 xiiRenderPipelinePassBase (xiiStringView sName, xiiBitflags< xiiRenderPipelinePassFlags > flags, xiiEnum< xiiRenderPipelinePassConcurrencyHint > concurrencyHint)
 
void SetName (xiiStringView sName)
 
void SetPassFlags (xiiBitflags< xiiRenderPipelinePassFlags > flags)
 
void SetPassConcurrencyHint (xiiEnum< xiiRenderPipelinePassConcurrencyHint > concurrencyHint)
 
virtual xiiResult Serialize (xiiStreamWriter &inout_stream) const
 
virtual xiiResult Deserialize (xiiStreamReader &inout_stream)
 
virtual void InitializeRenderPipelinePass (const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pInputs, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pOutputs)
 After GetResourceDescriptions was called successfully for each pass, this function is called with the inputs and outputs for review. Disconnected pins have a nullptr value in the passed in arrays. This is the time to create additional resources that are not covered by the pins automatically, e.g. a picking texture or eye adaptation buffer.
 
virtual void ReadBackProperties (xiiView *pView)
 Allows for the pass to write data back using xiiView::SetRenderPassReadBackProperty. E.g. picking results etc.
 
XII_ALWAYS_INLINE xiiStringView GetName () const
 Returns the name of this render-pipeline pass.
 
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
virtual ~xiiRenderPipelineNode ()=default
 Virtual destructor.
 
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.
 

Friends

class xiiRenderPipeline
 

Additional Inherited Members

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

Member Function Documentation

◆ GetName()

XII_ALWAYS_INLINE xiiStringView xiiRenderPipelinePassBase::GetName ( ) const
inline

Returns the name of this render-pipeline pass.

Returns
A string view of the pass's name.

◆ GetPipeline() [1/2]

XII_ALWAYS_INLINE xiiRenderPipeline * xiiRenderPipelinePassBase::GetPipeline ( )
inline

Retrieves the owning render pipeline for this pass.

Use this to query pipeline-level resources or state from within a pass implementation.

Returns
A pointer to the parent xiiRenderPipeline instance.

◆ GetPipeline() [2/2]

XII_ALWAYS_INLINE const xiiRenderPipeline * xiiRenderPipelinePassBase::GetPipeline ( ) const
inline

Retrieves the owning render pipeline for this pass (const overload).

Allows read-only access to pipeline state from const contexts.

Returns
A const pointer to the parent xiiRenderPipeline instance.

◆ IsStereoAware()

XII_ALWAYS_INLINE bool xiiRenderPipelinePassBase::IsStereoAware ( ) const
inline

Determines whether this pass correctly handles stereo/XR rendering.

When true, the pipeline will invoke this pass once per eye and bind separate per-eye resources as needed.

Returns
true if the pass is stereo-aware, false otherwise.

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