Nazara Engine  0.4
A fast, complete, cross-platform API designed for game development
Nz::DeferredGeometryPass Class Reference

Graphics class that represents the pass for geometries in deferred rendering. More...

Inheritance diagram for Nz::DeferredGeometryPass:
Nz::DeferredRenderPass

Public Member Functions

 DeferredGeometryPass ()
 Constructs a DeferredGeometryPass object by default.
 
bool Process (const SceneData &sceneData, unsigned int firstWorkTexture, unsigned int secondWorkTexture) const override
 Processes the work on the data while working with textures. More...
 
bool Resize (const Vector2ui &dimensions) override
 Resizes the texture sizes. More...
 
- Public Member Functions inherited from Nz::DeferredRenderPass
 DeferredRenderPass ()
 Constructs a DeferredRenderPass object by default.
 
 DeferredRenderPass (const DeferredRenderPass &)=delete
 
void Enable (bool enable)
 Enables the deferred rendering. More...
 
virtual void Initialize (DeferredRenderTechnique *technique)
 Initializes the deferred forward pass which needs the deferred technique. More...
 
bool IsEnabled () const
 Checks whether the deferred rendering is enabled. More...
 
DeferredRenderPassoperator= (const DeferredRenderPass &)=delete
 

Protected Member Functions

const ShaderUniforms * GetShaderUniforms (const Shader *shader) const
 Gets the uniforms of a shader. More...
 
void OnShaderInvalidated (const Shader *shader) const
 Handle the invalidation of a shader. More...
 

Protected Attributes

std::unordered_map< const Shader *, ShaderUniforms > m_shaderUniforms
 
RenderStates m_clearStates
 
ShaderRef m_clearShader
 
- Protected Attributes inherited from Nz::DeferredRenderPass
Vector2ui m_dimensions
 
DeferredRenderTechniquem_deferredTechnique
 
DeferredRenderQueuem_renderQueue
 
RenderTexture * m_GBufferRTT
 
RenderTexture * m_workRTT
 
Texture * m_depthStencilTexture
 
Texture * m_GBuffer [4]
 
Texture * m_workTextures [2]
 

Detailed Description

Graphics class that represents the pass for geometries in deferred rendering.

Member Function Documentation

◆ GetShaderUniforms()

const DeferredGeometryPass::ShaderUniforms * Nz::DeferredGeometryPass::GetShaderUniforms ( const Shader *  shader) const
protected

Gets the uniforms of a shader.

Returns
Uniforms of the shader
Parameters
shaderShader to get uniforms from

◆ OnShaderInvalidated()

void Nz::DeferredGeometryPass::OnShaderInvalidated ( const Shader *  shader) const
protected

Handle the invalidation of a shader.

Parameters
shaderShader being invalidated

◆ Process()

bool Nz::DeferredGeometryPass::Process ( const SceneData &  sceneData,
unsigned int  firstWorkTexture,
unsigned int  secondWorkTexture 
) const
overridevirtual

Processes the work on the data while working with textures.

Returns
false
Parameters
sceneDataData for the scene
firstWorkTextureIndex of the first texture to work with
firstWorkTextureIndex of the second texture to work with

Implements Nz::DeferredRenderPass.

◆ Resize()

bool Nz::DeferredGeometryPass::Resize ( const Vector2ui dimensions)
overridevirtual

Resizes the texture sizes.

Returns
true If successful
Parameters
dimensionsDimensions for the compute texture

Reimplemented from Nz::DeferredRenderPass.


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