![]() |
XII Release 0.1.0
|
A render pass that renders into a depth target only. More...
#include <DepthOnlyPass.h>
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. | |
![]() | |
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< xiiGALTextureView > | QueryTextureProvider (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< xiiRenderPipelinePassFlags > | GetPassFlags () const |
Returns the bitmask of flags describing this render-pipeline pass. | |
XII_ALWAYS_INLINE xiiEnum< xiiRenderPipelinePassConcurrencyHint > | GetPassConcurrencyHint () 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 xiiRenderPipeline * | GetPipeline () |
Retrieves the owning render pipeline for this pass. | |
XII_ALWAYS_INLINE const xiiRenderPipeline * | GetPipeline () const |
Retrieves the owning render pipeline for this pass (const overload). | |
![]() | |
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 xiiRenderPipelineNodePin * | GetPinByName (xiiStringView sName) const |
Finds a pin by its string name. | |
const xiiRenderPipelineNodePin * | GetPinByName (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. | |
![]() | |
virtual const xiiRTTI * | GetDynamicRTTI () 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< xiiGALRenderPass > | m_pRenderPass |
xiiSharedPtr< xiiGALFramebuffer > | m_pFramebuffer |
Additional Inherited Members | |
![]() | |
static const xiiRTTI * | GetStaticRTTI () |
A render pass that renders into a depth target only.
|
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.
|
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.
|
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.