Sdk/RenderSystem: Allow to change render technique

Former-commit-id: ec61a2ebff138300344e6068917f0863c3d11859
This commit is contained in:
Lynix
2016-04-16 18:40:58 +02:00
parent 104e393d65
commit c8dd28f75c
8 changed files with 43 additions and 10 deletions

View File

@@ -120,7 +120,7 @@ namespace Nz
for (unsigned int i = 0; i < 3; ++i)
m_GBuffer[i] = Texture::New();
try
{
ErrorFlags errFlags(ErrorFlag_ThrowException);
@@ -204,6 +204,11 @@ namespace Nz
DeferredRenderTechnique::~DeferredRenderTechnique() = default;
void DeferredRenderTechnique::Clear(const SceneData& sceneData) const
{
NazaraUnused(sceneData);
}
bool DeferredRenderTechnique::Draw(const SceneData& sceneData) const
{
NazaraAssert(sceneData.viewer, "Invalid viewer");

View File

@@ -49,18 +49,21 @@ namespace Nz
m_spriteBuffer.Reset(VertexDeclaration::Get(VertexLayout_XYZ_Color_UV), &m_vertexBuffer);
}
bool ForwardRenderTechnique::Draw(const SceneData& sceneData) const
void ForwardRenderTechnique::Clear(const SceneData& sceneData) const
{
NazaraAssert(sceneData.viewer, "Invalid viewer");
m_renderQueue.Sort(sceneData.viewer);
Renderer::Enable(RendererParameter_DepthBuffer, true);
Renderer::Enable(RendererParameter_DepthWrite, true);
Renderer::Clear(RendererBuffer_Depth);
if (sceneData.background)
sceneData.background->Draw(sceneData.viewer);
}
bool ForwardRenderTechnique::Draw(const SceneData& sceneData) const
{
NazaraAssert(sceneData.viewer, "Invalid viewer");
m_renderQueue.Sort(sceneData.viewer);
for (auto& pair : m_renderQueue.layers)
{