Prechádzať zdrojové kódy

Merge pull request #13272 from sunag/90dev-mirror-issue

mirror nodes fixes
Mr.doob 7 rokov pred
rodič
commit
32c8956fbe

+ 2 - 0
examples/js/objects/ReflectorRTT.js

@@ -4,6 +4,8 @@ THREE.ReflectorRTT = function ( geometry, options ) {
 
 	this.geometry.setDrawRange( 0, 0 ); // avoid rendering geometry
 
+	this.renderOrder = -Infinity; // render RTT first
+
 };
 
 THREE.ReflectorRTT.prototype = Object.create( THREE.Reflector.prototype );

+ 5 - 3
examples/webgl_mirror_nodes.html

@@ -227,9 +227,11 @@
 			//--
 
 			var mirrorMesh = new THREE.Mesh( planeGeo, groundMirrorMaterial );
-			mirrorMesh.add( groundMirror );
-			mirrorMesh.rotateX( - Math.PI / 2 );
-			scene.add( mirrorMesh );
+			// add all alternative mirror materials inside the ReflectorRTT to prevent:
+			// glDrawElements: Source and destination textures of the draw are the same.
+			groundMirror.add( mirrorMesh );
+			groundMirror.rotateX( - Math.PI / 2 );
+			scene.add( groundMirror );
 
 			sphereGroup = new THREE.Object3D();
 			scene.add( sphereGroup );