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 ezRenderPipelineGetPipeline ()
 
EZ_ALWAYS_INLINE const ezRenderPipelineGetPipeline () 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 ezRenderPipelineNodePinGetPinByName (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 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

 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 ezRTTIGetStaticRTTI ()
 

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: