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

#include <TonemapPass.h>

Inheritance diagram for ezTonemapPass:

Public Member Functions

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.
 
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

 EZ_ADD_RESOURCEHANDLE_ACCESSORS (VignettingTexture, m_hVignettingTexture)
 Vignette texture.
 
 EZ_ADD_RESOURCEHANDLE_ACCESSORS (LUT1Texture, m_hLUT1)
 Primary color grading LUT.
 
 EZ_ADD_RESOURCEHANDLE_ACCESSORS (LUT2Texture, m_hLUT2)
 Secondary color grading LUT.
 
- Protected Member Functions inherited from ezRenderPipelinePass
void SetReadBackProperty (ezView *pView, ezStringView sPropertyName, const ezVariant &value)
 

Protected Attributes

ezRenderPipelineNodeInputPin m_PinColorInput
 HDR color input to tonemap.
 
ezRenderPipelineNodeInputPin m_PinBloomInput
 Optional bloom texture to add.
 
ezRenderPipelineNodeOutputPin m_PinOutput
 LDR output after tonemapping.
 
ezTexture2DResourceHandle m_hVignettingTexture
 Vignetting effect texture.
 
ezTexture2DResourceHandle m_hNoiseTexture
 Film grain noise texture.
 
ezTexture2DResourceHandle m_hBlackTexture
 Black texture for fallback.
 
ezTexture3DResourceHandle m_hLUT1
 First 3D lookup table for color grading.
 
ezTexture3DResourceHandle m_hLUT2
 Second 3D lookup table for color grading.
 
ezColor m_MoodColor
 Mood color tint.
 
float m_fMoodStrength
 Strength of mood color effect.
 
float m_fSaturation
 Color saturation multiplier.
 
float m_fContrast
 Contrast adjustment.
 
float m_fLut1Strength
 Blend strength for first LUT.
 
float m_fLut2Strength
 Blend strength for second LUT.
 
float m_fWhitePoint
 White point for tone curve.
 
ezConstantBufferStorageHandle m_hConstantBuffer
 Constant buffer for tonemap parameters.
 
ezShaderResourceHandle m_hShader
 Tonemap shader.
 

Additional Inherited Members

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

Detailed Description

Render pass that applies tonemapping and color grading to HDR images.

Converts high dynamic range color values to display-ready output by applying exposure adjustment, color grading via lookup tables, saturation, contrast, and optional effects like vignetting and mood color. Combines with bloom if provided.

Member Function Documentation

◆ AddRenderPasses()

ezStatus ezTonemapPass::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 ezRenderPipelinePass.

◆ Deserialize()

ezResult ezTonemapPass::Deserialize ( ezStreamReader &  inout_stream)
overridevirtual

Reimplemented from ezRenderPipelinePass.

◆ Serialize()

ezResult ezTonemapPass::Serialize ( ezStreamWriter &  inout_stream) const
overridevirtual

Reimplemented from ezRenderPipelinePass.


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