2
0
Ben Houston 9 жил өмнө
parent
commit
edf8e03fea

+ 1 - 1
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;

+ 3 - 3
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 ) {

+ 2 - 2
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;
 

+ 1 - 0
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",