summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/renderergl2/glsl/lightall_fp.glsl5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/renderergl2/glsl/lightall_fp.glsl b/src/renderergl2/glsl/lightall_fp.glsl
index f16298a3..64cae3fa 100644
--- a/src/renderergl2/glsl/lightall_fp.glsl
+++ b/src/renderergl2/glsl/lightall_fp.glsl
@@ -333,8 +333,9 @@ void main()
// specular red is gloss
// specular green is metallicness
float gloss = specular.r;
- specular.rgb = specular.g * diffuse.rgb + vec3(0.04 - 0.04 * specular.g);
- diffuse.rgb *= 1.0 - specular.g;
+ float metal = specular.g;
+ specular.rgb = metal * diffuse.rgb + vec3(0.04 - 0.04 * metal);
+ diffuse.rgb *= 1.0 - metal;
#else
// diffuse rgb is diffuse
// specular rgb is specular reflectance at normal incidence