From 5cc0ce4758e20ba48f2d8756495331388d568da8 Mon Sep 17 00:00:00 2001 From: Lynix Date: Tue, 12 Mar 2013 23:32:14 +0100 Subject: [PATCH] Fixed shader bug with old hardware Former-commit-id: c1d70b72de7a469b6cf29268d4351ee257dbae5b --- src/Nazara/Renderer/ShaderBuilder.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/Nazara/Renderer/ShaderBuilder.cpp b/src/Nazara/Renderer/ShaderBuilder.cpp index 9ee93fe5f..9d6f39a7d 100644 --- a/src/Nazara/Renderer/ShaderBuilder.cpp +++ b/src/Nazara/Renderer/ShaderBuilder.cpp @@ -361,9 +361,19 @@ namespace if (flags & nzShaderFlags_Lighting) { if (flags & nzShaderFlags_Instancing) - sourceCode += "mat3 rotationMatrix = mat3(InstanceMatrix);\n"; + { + if (glsl140) + sourceCode += "mat3 rotationMatrix = mat3(InstanceMatrix);\n"; + else + sourceCode += "mat3 rotationMatrix = mat3(InstanceMatrix[0], InstanceMatrix[1], InstanceMatrix[2]);\n"; + } else - sourceCode += "mat3 rotationMatrix = mat3(WorldMatrix);\n"; + { + if (glsl140) + sourceCode += "mat3 rotationMatrix = mat3(WorldMatrix);\n"; + else + sourceCode += "mat3 rotationMatrix = mat3(WorldMatrix[0], WorldMatrix[1], WorldMatrix[2]);\n"; + } if (flags & nzShaderFlags_NormalMapping) {