XII Release 0.1.0
Loading...
Searching...
No Matches
xiiDepthOnlyPass Class Reference

A render pass that renders into a depth target only. More...

#include <DepthOnlyPass.h>

Inheritance diagram for xiiDepthOnlyPass:
[legend]

Public Member Functions

 xiiDepthOnlyPass (xiiStringView sName="DepthOnlyPass")
 
virtual bool GetRenderTargetDescriptions (const xiiView &view, const xiiArrayPtr< xiiGALTextureCreationDescription *const > pInputs, xiiArrayPtr< xiiGALTextureCreationDescription > pOutputs) override
 For a given input pin configuration, provide the output configuration of this node. Outputs is already resized to the number of output pins.
 
virtual void InitializeRenderPipelinePass (const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pInputs, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pOutputs) override
 After GetRenderTargetDescriptions 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 Execute (const xiiRenderViewContext &renderViewContext, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pInputs, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pOutputs) override
 Render into outputs. Both inputs and outputs are passed in with actual texture handles. Disconnected pins have a nullptr value in the passed in arrays. You can now create views and render target setups on the fly and fill the output targets with data.
 
- Public Member Functions inherited from xiiRenderPipelinePass
 xiiRenderPipelinePass (xiiStringView sName, xiiBitflags< xiiRenderPipelinePassFlags > flags, xiiEnum< xiiRenderPipelinePassConcurrencyHint > concurrencyHint)
 
void SetName (xiiStringView sName)
 Sets the name of the pass.
 
void SetPassFlags (xiiBitflags< xiiRenderPipelinePassFlags > flags)
 
void SetPassConcurrencyHint (xiiEnum< xiiRenderPipelinePassConcurrencyHint > concurrencyHint)
 
virtual xiiResult Serialize (xiiStreamWriter &inout_stream) const
 
virtual xiiResult Deserialize (xiiStreamReader &inout_stream)
 
virtual xiiSharedPtr< xiiGALTextureViewQueryTextureProvider (const xiiRenderPipelineNodePin *pPin, const xiiGALTextureCreationDescription &description)
 
virtual void ExecuteInactive (const xiiRenderViewContext &renderViewContext, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pInputs, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pOutputs)
 
virtual void ReadBackProperties (xiiView *pView)
 Allows for the pass to write data back using xiiView::SetRenderPassReadBackProperty. E.g. picking results etc.
 
void RenderDataWithCategory (const xiiRenderViewContext &renderViewContext, xiiSharedPtr< xiiGALCommandList > pCommandList, xiiRenderData::Category category, xiiRenderDataBatch::Filter filter=xiiRenderDataBatch::Filter())
 
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.
 

Protected Attributes

xiiRenderPipelineNodePassThroughPin m_PinDepthStencil
 
xiiSharedPtr< xiiGALRenderPassm_pRenderPass
 
xiiSharedPtr< xiiGALFramebufferm_pFramebuffer
 

Additional Inherited Members

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

Detailed Description

A render pass that renders into a depth target only.

Member Function Documentation

◆ Execute()

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

Render into outputs. Both inputs and outputs are passed in with actual texture handles. Disconnected pins have a nullptr value in the passed in arrays. You can now create views and render target setups on the fly and fill the output targets with data.

Implements xiiRenderPipelinePass.

◆ GetRenderTargetDescriptions()

bool xiiDepthOnlyPass::GetRenderTargetDescriptions ( const xiiView & view,
const xiiArrayPtr< xiiGALTextureCreationDescription *const > pInputs,
xiiArrayPtr< xiiGALTextureCreationDescription > pOutputs )
overridevirtual

For a given input pin configuration, provide the output configuration of this node. Outputs is already resized to the number of output pins.

Implements xiiRenderPipelinePass.

◆ InitializeRenderPipelinePass()

void xiiDepthOnlyPass::InitializeRenderPipelinePass ( const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pInputs,
const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pOutputs )
overridevirtual

After GetRenderTargetDescriptions 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.

Reimplemented from xiiRenderPipelinePass.


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