Explorar o código

WebGLMaterials: Only update transmission uniforms when material.transmission > 0. (#22427)

Mr.doob %!s(int64=3) %!d(string=hai) anos
pai
achega
8582be05d9
Modificáronse 1 ficheiros con 13 adicións e 14 borrados
  1. 13 14
      src/renderers/webgl/WebGLMaterials.js

+ 13 - 14
src/renderers/webgl/WebGLMaterials.js

@@ -632,32 +632,31 @@ function WebGLMaterials( properties ) {
 
 
 		}
 		}
 
 
-		uniforms.transmission.value = material.transmission;
+		if ( material.transmission > 0 ) {
 
 
-		if ( material.transmissionMap ) {
+			uniforms.transmission.value = material.transmission;
+			uniforms.transmissionSamplerMap.value = transmissionRenderTarget.texture;
+			uniforms.transmissionSamplerSize.value.set( transmissionRenderTarget.width, transmissionRenderTarget.height );
 
 
-			uniforms.transmissionMap.value = material.transmissionMap;
+			if ( material.transmissionMap ) {
 
 
-		}
+				uniforms.transmissionMap.value = material.transmissionMap;
 
 
-		if ( material.transmission > 0.0 ) {
+			}
 
 
-			uniforms.transmissionSamplerMap.value = transmissionRenderTarget.texture;
-			uniforms.transmissionSamplerSize.value.set( transmissionRenderTarget.width, transmissionRenderTarget.height );
+			uniforms.thickness.value = material.thickness;
 
 
-		}
+			if ( material.thicknessMap ) {
 
 
-		uniforms.thickness.value = material.thickness;
+				uniforms.thicknessMap.value = material.thicknessMap;
 
 
-		if ( material.thicknessMap ) {
+			}
 
 
-			uniforms.thicknessMap.value = material.thicknessMap;
+			uniforms.attenuationDistance.value = material.attenuationDistance;
+			uniforms.attenuationTint.value.copy( material.attenuationTint );
 
 
 		}
 		}
 
 
-		uniforms.attenuationDistance.value = material.attenuationDistance;
-		uniforms.attenuationTint.value.copy( material.attenuationTint );
-
 		uniforms.specularIntensity.value = material.specularIntensity;
 		uniforms.specularIntensity.value = material.specularIntensity;
 		uniforms.specularTint.value.copy( material.specularTint );
 		uniforms.specularTint.value.copy( material.specularTint );