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

#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
 Binds input textures and sets up shader resources.
 
virtual void SetupPermutationVars (const ezRenderViewContext &renderViewContext) override
 Configures shader permutation variables based on render settings.
 
virtual void RenderObjects (const ezRenderViewContext &renderViewContext) override
 Renders the objects for this pass. Must be implemented by derived classes.
 
- Protected Member Functions inherited from ezForwardRenderPass
virtual void SetupLighting (const ezRenderViewContext &renderViewContext)
 Binds lighting data for the current view.
 

Protected Attributes

ezRenderPipelineNodeInputPin m_PinSSAO
 Optional SSAO input for ambient occlusion.
 
bool m_bWriteDepth = true
 Whether to write to the depth buffer.
 
ezTexture2DResourceHandle m_hWhiteTexture
 Fallback white texture for unbound inputs.
 
- Protected Attributes inherited from ezForwardRenderPass
ezRenderPipelineNodePassThroughPin m_PinColor
 Color target for rendering.
 
ezRenderPipelineNodePassThroughPin m_PinDepthStencil
 Depth-stencil target.
 
ezEnum< ezForwardRenderShadingQualitym_ShadingQuality
 Quality level for shading calculations.
 

Additional Inherited Members

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

Detailed Description

Forward render pass that renders opaque objects.

Renders all opaque geometry with full lighting and shading. Optionally accepts an ambient occlusion input for enhanced shading.

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

Renders the objects for this pass. Must be implemented by derived classes.

Implements ezForwardRenderPass.

◆ SetupPermutationVars()

void ezOpaqueForwardRenderPass::SetupPermutationVars ( const ezRenderViewContext renderViewContext)
overrideprotectedvirtual

Configures shader permutation variables based on render settings.

Reimplemented from ezForwardRenderPass.

◆ SetupResources()

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

Binds input textures and sets up shader resources.

Reimplemented from ezForwardRenderPass.


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