From d3986d40cdeb8a49d9e9c5288c06c8a4b3eab60d Mon Sep 17 00:00:00 2001 From: Lynix Date: Tue, 21 May 2013 13:54:50 +0200 Subject: [PATCH] Improved emission map effect Former-commit-id: 44b8332a05d87175edd5e2e5f831c4b7f6b33f25 --- src/Nazara/Renderer/ShaderBuilder.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Nazara/Renderer/ShaderBuilder.cpp b/src/Nazara/Renderer/ShaderBuilder.cpp index ff30aef3a..a6e55d83c 100644 --- a/src/Nazara/Renderer/ShaderBuilder.cpp +++ b/src/Nazara/Renderer/ShaderBuilder.cpp @@ -291,8 +291,8 @@ namespace if (flags & nzShaderFlags_EmissiveMapping) { sourceCode += "vec3 emission = vec3(" + textureLookupKW + "(MaterialEmissiveMap, vTexCoord));\n" - + fragmentColorKW + " = vec4(mix(lighting, emission, length(emission)), alpha);\n"; - ///NOTE: Pour un shader avec un coût réduit avec une qualité moyenne, il est possible de remplacer "length(emission)" par "dot(emission, emission)" + + fragmentColorKW + " = vec4(mix(lighting, emission, max(0.0, 1.0-length(light))), alpha);\n"; + ///NOTE: Pour un shader avec un coût réduit avec une qualité moyenne, il est possible de remplacer "length(light)" par "dot(light, light)" } else sourceCode += fragmentColorKW + " = vec4(lighting, alpha);\n";