SceneRenderer
The SceneRenderer class provides an interface for customizing the rendering flow from the Scene scope. It offers virtual methods for handling RenderRenderer events as part of Scene extensions. Custom light shader source extensions enable integration of user-defined scene shadow and intersection GLSL methods into the deferred rendering pipeline.
#include <scene/TellusimSceneRenderer.h>
Constructors
SceneRenderer()
Methods
Draw deferred geometries.
virtual void drawDeferredBegin(const Device &device, RenderFrame *frames, uint32_t num_frames)
virtual void drawDeferredEnd(const Device &device, RenderFrame *frames, uint32_t num_frames)
Draw shadow map geometries.
virtual void drawShadowMapBegin(const Device &device, RenderFrame *frames, uint32_t num_frames)
virtual void drawShadowMapEnd(const Device &device, RenderFrame *frames, uint32_t num_frames)
Dispatch deferred light pass.
virtual void dispatchLightBegin(const Device &device, Compute &compute, RenderFrame *frames, uint32_t num_frames)
virtual void dispatchLightEnd(const Device &device, Compute &compute, RenderFrame *frames, uint32_t num_frames)
Draw forward geometries.
virtual void drawForwardBegin(const Device &device, RenderFrame *frames, uint32_t num_frames)
virtual void drawForwardEnd(const Device &device, RenderFrame *frames, uint32_t num_frames)
Draw transparent geometries.
virtual void drawTransparentBegin(const Device &device, RenderFrame *frames, uint32_t num_frames)
virtual void drawTransparentEnd(const Device &device, RenderFrame *frames, uint32_t num_frames)
Dispatch transparent pass.
virtual void dispatchTransparentBegin(const Device &device, Compute &compute, RenderFrame *frames, uint32_t num_frames)
virtual void dispatchTransparentEnd(const Device &device, Compute &compute, RenderFrame *frames, uint32_t num_frames)
Dispatch luminance pass.
virtual void dispatchLuminanceBegin(const Device &device, Compute &compute, RenderFrame *frames, uint32_t num_frames)
virtual void dispatchLuminanceEnd(const Device &device, Compute &compute, RenderFrame *frames, uint32_t num_frames)
Dispatch composite pass.
virtual void dispatchCompositeBegin(const Device &device, Compute &compute, RenderFrame *frames, uint32_t num_frames)
virtual void dispatchCompositeEnd(const Device &device, Compute &compute, RenderFrame *frames, uint32_t num_frames)
Deferred light kernel.
virtual void createLightKernel(Kernel &kernel)
virtual void bindLightKernel(Compute &compute, RenderFrame &frame, Kernel &kernel)
Deferred light source.
virtual String getLightSource() const
virtual String getLightShadowName() const
virtual String getLightReflectionName() const