Graphics/DeferredRenderTechnique: Optimize Deferred Shading
No longer copies depth twice Former-commit-id: aa2096ade409861b773bc7302ced27ae84fab858 [formerly 80fd00bd4a75506b128b70a545eb43ff6a3a7071] [formerly d8576a8858caca9314ea67661af0ce7d9077ba9d [formerly e626f2fd62d19ca5f952485478bfe46f4a803227]] Former-commit-id: 363c93e397887e66b25446927bc5ef89e761c488 [formerly a8bee284456d7f46d182ae7df2d565fa29e55b61] Former-commit-id: 168792d853247ada5add8f97057c213af7c801b3
This commit is contained in:
@@ -136,7 +136,7 @@ namespace Nz
|
||||
m_renderQueue(static_cast<ForwardRenderQueue*>(m_forwardTechnique.GetRenderQueue())),
|
||||
m_GBufferSize(0U)
|
||||
{
|
||||
m_depthStencilBuffer = RenderBuffer::New();
|
||||
m_depthStencilTexture = Texture::New();
|
||||
|
||||
for (unsigned int i = 0; i < 2; ++i)
|
||||
m_workTextures[i] = Texture::New();
|
||||
@@ -305,9 +305,9 @@ namespace Nz
|
||||
* \return Pointer to the rendering buffer
|
||||
*/
|
||||
|
||||
RenderBuffer* DeferredRenderTechnique::GetDepthStencilBuffer() const
|
||||
Texture* DeferredRenderTechnique::GetDepthStencilTexture() const
|
||||
{
|
||||
return m_depthStencilBuffer;
|
||||
return m_depthStencilTexture;
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -652,6 +652,7 @@ namespace Nz
|
||||
shader->SendInteger(shader->GetUniformLocation("GBuffer0"), 0);
|
||||
shader->SendInteger(shader->GetUniformLocation("GBuffer1"), 1);
|
||||
shader->SendInteger(shader->GetUniformLocation("GBuffer2"), 2);
|
||||
shader->SendInteger(shader->GetUniformLocation("DepthBuffer"), 3);
|
||||
|
||||
|
||||
shader = RegisterDeferredShader("DeferredPointSpotLight", r_fragmentSource_PointSpotLight, sizeof(r_fragmentSource_PointSpotLight), basicVertexStage, &error);
|
||||
@@ -664,6 +665,7 @@ namespace Nz
|
||||
shader->SendInteger(shader->GetUniformLocation("GBuffer0"), 0);
|
||||
shader->SendInteger(shader->GetUniformLocation("GBuffer1"), 1);
|
||||
shader->SendInteger(shader->GetUniformLocation("GBuffer2"), 2);
|
||||
shader->SendInteger(shader->GetUniformLocation("DepthBuffer"), 3);
|
||||
|
||||
|
||||
// Shaders optionnels (S'ils ne sont pas présents, le rendu minimal sera quand même assuré)
|
||||
|
||||
Reference in New Issue
Block a user