From 01a1badac7b0326c04ae776a8e2a1ad22a1a262b Mon Sep 17 00:00:00 2001 From: Lynix Date: Fri, 23 Jan 2015 20:21:00 +0100 Subject: [PATCH] Removed useless std::function from rendering code Former-commit-id: eaba729d5047d326fb2e746cec0621bfcf2eb1c5 --- include/Nazara/Renderer/Renderer.hpp | 3 +++ src/Nazara/Graphics/DeferredGeometryPass.cpp | 12 ++++++------ src/Nazara/Graphics/ForwardRenderTechnique.cpp | 18 +++++++++--------- 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/include/Nazara/Renderer/Renderer.hpp b/include/Nazara/Renderer/Renderer.hpp index 2b5625ea2..50f8b0717 100644 --- a/include/Nazara/Renderer/Renderer.hpp +++ b/include/Nazara/Renderer/Renderer.hpp @@ -31,6 +31,9 @@ class NAZARA_API NzRenderer friend NzTexture; public: + using DrawCall = void (*)(nzPrimitiveMode, unsigned int, unsigned int); + using DrawCallInstanced = void (*)(unsigned int, nzPrimitiveMode, unsigned int, unsigned int); + NzRenderer() = delete; ~NzRenderer() = delete; diff --git a/src/Nazara/Graphics/DeferredGeometryPass.cpp b/src/Nazara/Graphics/DeferredGeometryPass.cpp index 93052d322..c38c45cdd 100644 --- a/src/Nazara/Graphics/DeferredGeometryPass.cpp +++ b/src/Nazara/Graphics/DeferredGeometryPass.cpp @@ -101,20 +101,20 @@ bool NzDeferredGeometryPass::Process(const NzScene* scene, unsigned int firstWor const NzVertexBuffer* vertexBuffer = meshData.vertexBuffer; // Gestion du draw call avant la boucle de rendu - std::function DrawFunc; - std::function InstancedDrawFunc; + NzRenderer::DrawCall drawFunc; + NzRenderer::DrawCallInstanced instancedDrawFunc; unsigned int indexCount; if (indexBuffer) { - DrawFunc = NzRenderer::DrawIndexedPrimitives; - InstancedDrawFunc = NzRenderer::DrawIndexedPrimitivesInstanced; + drawFunc = NzRenderer::DrawIndexedPrimitives; + instancedDrawFunc = NzRenderer::DrawIndexedPrimitivesInstanced; indexCount = indexBuffer->GetIndexCount(); } else { - DrawFunc = NzRenderer::DrawPrimitives; - InstancedDrawFunc = NzRenderer::DrawPrimitivesInstanced; + drawFunc = NzRenderer::DrawPrimitives; + instancedDrawFunc = NzRenderer::DrawPrimitivesInstanced; indexCount = vertexBuffer->GetVertexCount(); } diff --git a/src/Nazara/Graphics/ForwardRenderTechnique.cpp b/src/Nazara/Graphics/ForwardRenderTechnique.cpp index 22f2a1234..2144d5803 100644 --- a/src/Nazara/Graphics/ForwardRenderTechnique.cpp +++ b/src/Nazara/Graphics/ForwardRenderTechnique.cpp @@ -470,20 +470,20 @@ void NzForwardRenderTechnique::DrawOpaqueModels(const NzScene* scene) const const NzVertexBuffer* vertexBuffer = meshData.vertexBuffer; // Gestion du draw call avant la boucle de rendu - std::function DrawFunc; - std::function InstancedDrawFunc; + NzRenderer::DrawCall drawFunc; + NzRenderer::DrawCallInstanced instancedDrawFunc; unsigned int indexCount; if (indexBuffer) { - DrawFunc = NzRenderer::DrawIndexedPrimitives; - InstancedDrawFunc = NzRenderer::DrawIndexedPrimitivesInstanced; + drawFunc = NzRenderer::DrawIndexedPrimitives; + instancedDrawFunc = NzRenderer::DrawIndexedPrimitivesInstanced; indexCount = indexBuffer->GetIndexCount(); } else { - DrawFunc = NzRenderer::DrawPrimitives; - InstancedDrawFunc = NzRenderer::DrawPrimitivesInstanced; + drawFunc = NzRenderer::DrawPrimitives; + instancedDrawFunc = NzRenderer::DrawPrimitivesInstanced; indexCount = vertexBuffer->GetVertexCount(); } @@ -672,17 +672,17 @@ void NzForwardRenderTechnique::DrawTransparentModels(const NzScene* scene) const const NzVertexBuffer* vertexBuffer = meshData.vertexBuffer; // Gestion du draw call avant la boucle de rendu - std::function DrawFunc; + NzRenderer::DrawCall drawFunc; unsigned int indexCount; if (indexBuffer) { - DrawFunc = NzRenderer::DrawIndexedPrimitives; + drawFunc = NzRenderer::DrawIndexedPrimitives; indexCount = indexBuffer->GetIndexCount(); } else { - DrawFunc = NzRenderer::DrawPrimitives; + drawFunc = NzRenderer::DrawPrimitives; indexCount = vertexBuffer->GetVertexCount(); }