Forráskód Böngészése

WebGLDeferredRenderer: skipping transparent materials.

At least for now; later on these should be probably rendered in a separate forward renderer pass.
alteredq 12 éve
szülő
commit
514aad9ab4
1 módosított fájl, 15 hozzáadás és 2 törlés
  1. 15 2
      examples/js/renderers/WebGLDeferredRenderer.js

+ 15 - 2
examples/js/renderers/WebGLDeferredRenderer.js

@@ -174,6 +174,7 @@ THREE.WebGLDeferredRenderer = function ( parameters ) {
 
 		material.alphaTest = originalMaterial.alphaTest;
 		material.wireframe = originalMaterial.wireframe;
+		material.transparent = originalMaterial.transparent;
 
 		// uv repeat and offset setting priorities
 		//	1. color map
@@ -271,6 +272,8 @@ THREE.WebGLDeferredRenderer = function ( parameters ) {
 
 		}
 
+		deferredMaterials.normalDepthMaterial.transparent = originalMaterial.transparent;
+
 		return deferredMaterials;
 
 	};
@@ -466,13 +469,23 @@ THREE.WebGLDeferredRenderer = function ( parameters ) {
 
 	var setMaterialColor = function ( object ) {
 
-		if ( object.material ) object.material = object.properties.colorMaterial;
+		if ( object.material ) {
+
+			object.material = object.properties.colorMaterial;
+			if ( object.material.transparent ) object.visible = false;
+
+		}
 
 	};
 
 	var setMaterialNormalDepth = function ( object ) {
 
-		if ( object.material ) object.material = object.properties.normalDepthMaterial;
+		if ( object.material ) {
+
+			object.material = object.properties.normalDepthMaterial;
+			if ( object.material.transparent ) object.visible = false;
+
+		}
 
 	};