ezEngine Release 25.08
Loading...
Searching...
No Matches
ezOpaqueForwardRenderPass Class Reference

A forward render pass that renders all opaque objects into the color target. More...

#include <OpaqueForwardRenderPass.h>

Inheritance diagram for ezOpaqueForwardRenderPass:

Public Member Functions

 ezOpaqueForwardRenderPass (const char *szName="OpaqueForwardRenderPass")
 
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.
 
- Public Member Functions inherited from ezForwardRenderPass
 ezForwardRenderPass (const char *szName="ForwardRenderPass")
 
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.
 
virtual ezResult Serialize (ezStreamWriter &inout_stream) const override
 
virtual ezResult Deserialize (ezStreamReader &inout_stream) override
 
- 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 ezGALTextureHandle QueryTextureProvider (const ezRenderPipelineNodePin *pPin, const ezGALTextureCreationDescription &desc)
 
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.
 
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 Member Functions

virtual void SetupResources (ezGALCommandEncoder *pCommandEncoder, const ezRenderViewContext &renderViewContext, const ezArrayPtr< ezRenderPipelinePassConnection *const > inputs, const ezArrayPtr< ezRenderPipelinePassConnection *const > outputs) override
 
virtual void SetupPermutationVars (const ezRenderViewContext &renderViewContext) override
 
virtual void RenderObjects (const ezRenderViewContext &renderViewContext) override
 
- Protected Member Functions inherited from ezForwardRenderPass
virtual void SetupLighting (const ezRenderViewContext &renderViewContext)
 

Protected Attributes

ezRenderPipelineNodeInputPin m_PinSSAO
 
bool m_bWriteDepth = true
 
ezTexture2DResourceHandle m_hWhiteTexture
 
- Protected Attributes inherited from ezForwardRenderPass
ezRenderPipelineNodePassThroughPin m_PinColor
 
ezRenderPipelineNodePassThroughPin m_PinDepthStencil
 
ezEnum< ezForwardRenderShadingQualitym_ShadingQuality
 

Additional Inherited Members

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

Detailed Description

A forward render pass that renders all opaque objects into the color target.

Member Function Documentation

◆ GetRenderTargetDescriptions()

bool ezOpaqueForwardRenderPass::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.

Reimplemented from ezForwardRenderPass.

◆ RenderObjects()

void ezOpaqueForwardRenderPass::RenderObjects ( const ezRenderViewContext renderViewContext)
overrideprotectedvirtual

Implements ezForwardRenderPass.

◆ SetupPermutationVars()

void ezOpaqueForwardRenderPass::SetupPermutationVars ( const ezRenderViewContext renderViewContext)
overrideprotectedvirtual

Reimplemented from ezForwardRenderPass.

◆ SetupResources()

void ezOpaqueForwardRenderPass::SetupResources ( ezGALCommandEncoder pCommandEncoder,
const ezRenderViewContext renderViewContext,
const ezArrayPtr< ezRenderPipelinePassConnection *const >  inputs,
const ezArrayPtr< ezRenderPipelinePassConnection *const >  outputs 
)
overrideprotectedvirtual

Reimplemented from ezForwardRenderPass.


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