ezEngine Release 26.3
Loading...
Searching...
No Matches
ezTargetPass Class Reference

#include <TargetPass.h>

Inheritance diagram for ezTargetPass:

Public Member Functions

 ezTargetPass (const char *szName="TargetPass")
 
virtual bool GetRenderTargetDescriptions (const ezView &view, const ezArrayPtr< ezGALTextureCreationDescription *const > inputs, ezArrayPtr< ezGALTextureCreationDescription > outputs) 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 ezGALTextureHandle QueryTextureProvider (const ezRenderPipelineNodePin *pPin, const ezGALTextureCreationDescription &desc) override
 Provides the actual target texture handles for connected pins.
 
virtual void Execute (const ezRenderViewContext &renderViewContext, const ezArrayPtr< ezRenderPipelinePassConnection *const > inputs, const ezArrayPtr< ezRenderPipelinePassConnection *const > outputs) 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 ezRenderPipelinePass
 ezRenderPipelinePass (const char *szName, bool bIsStereoAware=false)
 
void SetName (const char *szName)
 Sets the name of the pass.
 
const char * GetName () const
 returns the name of the pass.
 
bool IsStereoAware () const
 True if the render pipeline pass can handle stereo cameras correctly.
 
virtual void InitRenderPipelinePass (const ezArrayPtr< ezRenderPipelinePassConnection *const > inputs, const ezArrayPtr< ezRenderPipelinePassConnection *const > outputs)
 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 ExecuteInactive (const ezRenderViewContext &renderViewContext, const ezArrayPtr< ezRenderPipelinePassConnection *const > inputs, const ezArrayPtr< ezRenderPipelinePassConnection *const > outputs)
 
virtual void ReadBackProperties (ezView *pView)
 Allows for the pass to write data back using ezView::SetRenderPassReadBackProperty. E.g. picking results etc.
 
virtual ezResult Serialize (ezStreamWriter &inout_stream) const
 
virtual ezResult Deserialize (ezStreamReader &inout_stream)
 
void RenderDataWithCategory (const ezRenderViewContext &renderViewContext, ezRenderData::Category category)
 
EZ_ALWAYS_INLINE ezRenderPipelineGetPipeline ()
 
EZ_ALWAYS_INLINE const ezRenderPipelineGetPipeline () const
 
- Public Member Functions inherited from ezRenderPipelineNode
void InitializePins ()
 
ezHashedString GetPinName (const ezRenderPipelineNodePin *pPin) const
 
const ezRenderPipelineNodePinGetPinByName (const char *szName) const
 
const ezRenderPipelineNodePinGetPinByName (ezHashedString sName) const
 
const ezArrayPtr< const ezRenderPipelineNodePin *const > GetInputPins () const
 
const ezArrayPtr< const ezRenderPipelineNodePin *const > GetOutputPins () const
 
- Public Member Functions inherited from ezReflectedClass
virtual const ezRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const ezRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T >
EZ_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Protected Attributes

ezRenderPipelineNodeInputProviderPin m_PinColor0
 Color target 0 input.
 
ezRenderPipelineNodeInputProviderPin m_PinColor1
 Color target 1 input.
 
ezRenderPipelineNodeInputProviderPin m_PinColor2
 Color target 2 input.
 
ezRenderPipelineNodeInputProviderPin m_PinColor3
 Color target 3 input.
 
ezRenderPipelineNodeInputProviderPin m_PinColor4
 Color target 4 input.
 
ezRenderPipelineNodeInputProviderPin m_PinColor5
 Color target 5 input.
 
ezRenderPipelineNodeInputProviderPin m_PinColor6
 Color target 6 input.
 
ezRenderPipelineNodeInputProviderPin m_PinColor7
 Color target 7 input.
 
ezRenderPipelineNodeInputProviderPin m_PinDepthStencil
 Depth-stencil target input.
 
ezGALRenderTargets m_RenderTargets
 Configured render target setup.
 
ezGALSwapChainHandle m_hSwapChain
 Swap chain handle if rendering to screen.
 

Additional Inherited Members

- Static Public Member Functions inherited from ezNoBase
static const ezRTTIGetStaticRTTI ()
 

Detailed Description

Render pass that outputs to final render targets or swap chain.

Terminal pass that writes the final pipeline output to the specified render targets. Can output to multiple color targets and depth-stencil, typically used as the final stage in a render pipeline to present results to the screen or external targets.

Member Function Documentation

◆ Execute()

void ezTargetPass::Execute ( const ezRenderViewContext renderViewContext,
const ezArrayPtr< ezRenderPipelinePassConnection *const >  inputs,
const ezArrayPtr< ezRenderPipelinePassConnection *const >  outputs 
)
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 ezRenderPipelinePass.

◆ GetRenderTargetDescriptions()

bool ezTargetPass::GetRenderTargetDescriptions ( const ezView view,
const ezArrayPtr< ezGALTextureCreationDescription *const >  inputs,
ezArrayPtr< ezGALTextureCreationDescription outputs 
)
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 ezRenderPipelinePass.

◆ QueryTextureProvider()

ezGALTextureHandle ezTargetPass::QueryTextureProvider ( const ezRenderPipelineNodePin pPin,
const ezGALTextureCreationDescription desc 
)
overridevirtual

Provides the actual target texture handles for connected pins.

Reimplemented from ezRenderPipelinePass.


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