From edf8e03fea94efbdff10fa19252fcd4e78c9ecce Mon Sep 17 00:00:00 2001 From: Ben Houston Date: Fri, 12 Feb 2016 11:52:21 -0500 Subject: [PATCH] bug fixes. --- src/renderers/WebGLRenderer.js | 2 +- src/renderers/shaders/ShaderChunk/encodings.glsl | 6 +++--- src/renderers/shaders/ShaderChunk/lights_pars.glsl | 4 ++-- utils/build/includes/common.json | 1 + 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/renderers/WebGLRenderer.js b/src/renderers/WebGLRenderer.js index a956aefa41..31b49aeec1 100644 --- a/src/renderers/WebGLRenderer.js +++ b/src/renderers/WebGLRenderer.js @@ -1962,7 +1962,7 @@ THREE.WebGLRenderer = function ( parameters ) { } uniforms.envMap.value = material.envMap; - uniforms.envMapEncoding.value = material.envMap.encoding; + uniforms.envMapEncoding.value = ( material.envMap ? material.envMap.encoding : THREE.Linear ); uniforms.flipEnvMap.value = ( material.envMap instanceof THREE.WebGLRenderTargetCube ) ? 1 : - 1; uniforms.reflectivity.value = material.reflectivity; diff --git a/src/renderers/shaders/ShaderChunk/encodings.glsl b/src/renderers/shaders/ShaderChunk/encodings.glsl index 26e3eb4281..61809f2354 100644 --- a/src/renderers/shaders/ShaderChunk/encodings.glsl +++ b/src/renderers/shaders/ShaderChunk/encodings.glsl @@ -1,7 +1,7 @@ // These encodings should have the same integer values as THREE.Linear, THREE.sRGB, etc... #define ENCODING_Linear 3000 -#define ENCODING_sRGB 3001 // AKA gamma 2.2. -#define ENCODING_RGBE 3002 // Radiance +#define ENCODING_sRGB 3001 +#define ENCODING_RGBE 3002 //#define ENCODING_LogLuv 3003 #define ENCODING_RGBM7 3004 #define ENCODING_RGBM16 3005 @@ -54,7 +54,7 @@ vec4 texelEncode( in vec4 linearRgba, in int encoding ) } if( encoding == ENCODING_sRGB ) { - return vec4( pow( linearRgba.xyz, vec3( 0.4545 ) ), encodedTexel.w ); + return vec4( pow( linearRgba.xyz, vec3( 0.4545 ) ), linearRgba.w ); } if( encoding == ENCODING_RGBE ) { diff --git a/src/renderers/shaders/ShaderChunk/lights_pars.glsl b/src/renderers/shaders/ShaderChunk/lights_pars.glsl index 8bef5850c5..c144ba0f5d 100644 --- a/src/renderers/shaders/ShaderChunk/lights_pars.glsl +++ b/src/renderers/shaders/ShaderChunk/lights_pars.glsl @@ -186,7 +186,7 @@ #endif - envMapColor.rgb = texelDecode( envMapColor.rgb, envMapEncoding ); + envMapColor.rgb = texelDecode( envMapColor, envMapEncoding ).rgb; return PI * envMapColor.rgb * envMapIntensity; @@ -278,7 +278,7 @@ #endif - envMapColor.rgb = texelDecode( envMapColor.rgb, envMapEncoding ); + envMapColor.rgb = texelDecode( envMapColor, envMapEncoding ).rgb; return envMapColor.rgb * envMapIntensity; diff --git a/utils/build/includes/common.json b/utils/build/includes/common.json index 6112f3ce40..cb01a361b7 100644 --- a/utils/build/includes/common.json +++ b/utils/build/includes/common.json @@ -137,6 +137,7 @@ "src/renderers/shaders/ShaderChunk/displacementmap_pars_vertex.glsl", "src/renderers/shaders/ShaderChunk/emissivemap_fragment.glsl", "src/renderers/shaders/ShaderChunk/emissivemap_pars_fragment.glsl", + "src/renderers/shaders/ShaderChunk/encodings.glsl", "src/renderers/shaders/ShaderChunk/envmap_fragment.glsl", "src/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl", "src/renderers/shaders/ShaderChunk/envmap_pars_vertex.glsl", -- GitLab