Explorar o código

WebGLRenderer: setMaterial() does setBlending( THREE.NoBlending ) if needed. See #5940.

Mr.doob %!s(int64=10) %!d(string=hai) anos
pai
achega
41a173c660
Modificáronse 1 ficheiros con 4 adicións e 2 borrados
  1. 4 2
      src/renderers/WebGLRenderer.js

+ 4 - 2
src/renderers/WebGLRenderer.js

@@ -3386,8 +3386,6 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 			var overrideMaterial = scene.overrideMaterial;
 
-			// Reset blending in case material.transparent = false. setMaterial() doesn't set blending in such case.
-			state.setBlending( THREE.NoBlending );
 			setMaterial( overrideMaterial );
 
 			renderObjects( opaqueObjects, camera, lights, fog, overrideMaterial );
@@ -4332,6 +4330,10 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 			state.setBlending( material.blending, material.blendEquation, material.blendSrc, material.blendDst, material.blendEquationAlpha, material.blendSrcAlpha, material.blendDstAlpha );
 
+		} else {
+
+			state.setBlending( THREE.NoBlending );
+
 		}
 
 		state.setDepthTest( material.depthTest );