From 07aa5d095cbce9f01f944cf8fb0124a6eadc9db7 Mon Sep 17 00:00:00 2001 From: Lynix Date: Sat, 5 Jan 2013 19:51:01 +0100 Subject: [PATCH] Fixed matrices not being updated in the shader Former-commit-id: 8eb208b656bec0d63163d2a00768a4216979a8b0 --- src/Nazara/Renderer/Renderer.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/Nazara/Renderer/Renderer.cpp b/src/Nazara/Renderer/Renderer.cpp index 772e04b4e..e66d79afa 100644 --- a/src/Nazara/Renderer/Renderer.cpp +++ b/src/Nazara/Renderer/Renderer.cpp @@ -707,18 +707,20 @@ void NzRenderer::SetMatrix(nzMatrixType type, const NzMatrix4f& matrix) #endif s_matrix[type] = matrix; + s_matrixUpdated[type] = false; // Invalidation des combinaisons - switch (type) + if (type == nzMatrixType_View) { - case nzMatrixType_View: - case nzMatrixType_World: - s_matrixUpdated[nzMatrixCombination_WorldView] = false; - case nzMatrixType_Projection: - s_matrixUpdated[nzMatrixCombination_WorldViewProj] = false; - s_matrixUpdated[nzMatrixCombination_ViewProj] = false; - break; + s_matrixUpdated[nzMatrixCombination_ViewProj] = false; + s_matrixUpdated[nzMatrixCombination_WorldView] = false; } + else if (type == nzMatrixType_Projection) + s_matrixUpdated[nzMatrixCombination_ViewProj] = false; + else if (type == nzMatrixType_World) + s_matrixUpdated[nzMatrixCombination_WorldView] = false; + + s_matrixUpdated[nzMatrixCombination_WorldViewProj] = false; // Toujours invalidée } void NzRenderer::SetPointSize(float size)