ezEngine Release 26.9
Loading...
Searching...
No Matches
ezTransparentForwardRenderPass Class Reference

#include <TransparentForwardRenderPass.h>

Inheritance diagram for ezTransparentForwardRenderPass:

Public Member Functions

 ezTransparentForwardRenderPass (const char *szName="TransparentForwardRenderPass")
 
virtual ezStatus AddRenderPasses (const ezViewData &viewData, const ezCamera &camera, ezRenderGraph &ref_graph, const ezArrayPtr< const ezRenderPipelinePinConnection > inputs, ezArrayPtr< ezRenderPipelinePinConnection > outputs) override
 Called by the render pipeline when this pass is active. The pass declares its render-graph passes and writes the resulting transient handles into the outputs array.
 
- Public Member Functions inherited from ezForwardRenderPass
 ezForwardRenderPass (const char *szName="ForwardRenderPass")
 
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.
 
EZ_ALWAYS_INLINE bool IsStereoAware () const
 True if the render pipeline pass can handle stereo cameras correctly.
 
virtual void ReadBackProperties (ezView *pView)
 Allows for the pass to write data back using ezView::SetRenderPassReadBackProperty. E.g. picking results etc.
 
void DeclareRendererDependenciesForCategory (ezRenderData::Category category, ezRenderGraph &ref_graph, ezRenderGraphPassBuilder &ref_passBuilder)
 
void RenderDataWithCategory (const ezRenderViewContext &renderViewContext, ezRenderData::Category category)
 
EZ_ALWAYS_INLINE ezRenderPipeline * GetPipeline ()
 
EZ_ALWAYS_INLINE const ezRenderPipeline * GetPipeline () const
 
virtual ezStatus AddRenderPassesInactive (const ezViewData &viewData, const ezCamera &camera, ezRenderGraph &ref_graph, const ezArrayPtr< const ezRenderPipelinePinConnection > inputs, ezArrayPtr< ezRenderPipelinePinConnection > outputs)
 Called by the render pipeline when this pass is inactive instead of AddRenderPasses. The default implementation does nothing; passes that produce outputs must override this and at minimum write the same output handles they would in AddRenderPasses (typically by adding a clear pass) so downstream passes still see a valid resource.
 
virtual ezGALTextureHandle QueryTextureProvider (const ezRenderPipelineNodePin *pPin, const ezGALTextureCreationDescription &desc)
 
- Public Member Functions inherited from ezRenderPipelineNode
void InitializePins ()
 
ezHashedString GetPinName (const ezRenderPipelineNodePin *pPin) const
 
const ezRenderPipelineNodePin * GetPinByName (ezTempHashedString sName) const
 
const ezArrayPtr< const ezRenderPipelineNodePin *const > GetInputPins () const
 
const ezArrayPtr< const ezRenderPipelineNodePin *const > GetOutputPins () const
 
- Public Member Functions inherited from ezReflectedClass
virtual const ezRTTI * GetDynamicRTTI () 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 DeclareRenderObjectDependencies (ezRenderGraph &ref_graph, ezRenderGraphPassBuilder &ref_pass) override
 
virtual void RenderObjects (const ezRenderViewContext &renderViewContext) override
 Renders the objects for this pass. Must be implemented by derived classes.
 
void CreateSamplerState ()
 
- Protected Member Functions inherited from ezForwardRenderPass
virtual void SetupPermutationVars (const ezRenderViewContext &renderViewContext)
 Configures shader permutation variables based on render settings.
 
- Protected Member Functions inherited from ezRenderPipelinePass
void SetReadBackProperty (ezView *pView, ezStringView sPropertyName, const ezVariant &value)
 

Protected Attributes

ezRenderPipelineNodeInputPin m_PinResolvedDepth
 Optional resolved depth for soft particles.
 
ezRenderPipelineNodeInputPin m_PinSSAO
 Optional SSAO input for ambient occlusion.
 
ezRenderPipelineNodeInputPin m_PinShadowMasks
 Optional shadow mask input for deferred shadows.
 
ezGALSamplerStateHandle m_hSceneColorSamplerState
 Sampler for scene color texture.
 
- Protected Attributes inherited from ezForwardRenderPass
ezRenderPipelineNodePassThroughPin m_PinColor
 Color target for rendering.
 
ezRenderPipelineNodePassThroughPin m_PinDepthStencil
 Depth-stencil target.
 
ezEnum< ezForwardRenderShadingQuality > m_ShadingQuality
 Quality level for shading calculations.
 
ezTexture2DResourceHandle m_hWhiteTexture
 Fallback white texture for unbound inputs.
 

Additional Inherited Members

- Static Public Member Functions inherited from ezNoBase
static const ezRTTI * GetStaticRTTI ()
 

Detailed Description

Forward render pass that renders transparent objects with proper blending.

Provides access to the scene color for refraction and distortion effects.

Member Function Documentation

◆ AddRenderPasses()

ezStatus ezTransparentForwardRenderPass::AddRenderPasses ( const ezViewData &  viewData,
const ezCamera &  camera,
ezRenderGraph &  ref_graph,
const ezArrayPtr< const ezRenderPipelinePinConnection >  inputs,
ezArrayPtr< ezRenderPipelinePinConnection >  outputs 
)
overridevirtual

Called by the render pipeline when this pass is active. The pass declares its render-graph passes and writes the resulting transient handles into the outputs array.

Reimplemented from ezForwardRenderPass.

◆ DeclareRenderObjectDependencies()

void ezTransparentForwardRenderPass::DeclareRenderObjectDependencies ( ezRenderGraph &  ref_graph,
ezRenderGraphPassBuilder &  ref_pass 
)
overrideprotectedvirtual

Declares the renderer dependencies for the render data categories that RenderObjects will render.

Must declare the same set of categories that RenderObjects passes to RenderDataWithCategory.

Implements ezForwardRenderPass.

◆ RenderObjects()

void ezTransparentForwardRenderPass::RenderObjects ( const ezRenderViewContext &  renderViewContext)
overrideprotectedvirtual

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

Implements ezForwardRenderPass.


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