Browse Source

fixed render target restoration after shadow map rendering

Marc-Sefan Cassola 6 years ago
parent
commit
9a844d0e27
3 changed files with 14 additions and 2 deletions
  1. 5 1
      build/three.js
  2. 5 1
      build/three.module.js
  3. 4 0
      src/renderers/webgl/WebGLShadowMap.js

+ 5 - 1
build/three.js

@@ -18857,6 +18857,8 @@
 
 				}
 
+				var currentRenderTarget = _renderer.getRenderTarget();
+
 				_renderer.setRenderTarget( shadowMap );
 				_renderer.clear();
 
@@ -18893,6 +18895,8 @@
 
 			scope.needsUpdate = false;
 
+			_renderer.setRenderTarget( currentRenderTarget );
+
 		};
 
 		function getDepthMaterial( object, material, isPointLight, lightPositionWorld, shadowCameraNear, shadowCameraFar ) {
@@ -23456,7 +23460,7 @@
 
 			//
 
-			if ( renderTarget ) {
+			if ( renderTarget !== undefined ) {
 
 				// Generate mipmap if we're using any kind of mipmap filtering
 

+ 5 - 1
build/three.module.js

@@ -18851,6 +18851,8 @@ function WebGLShadowMap( _renderer, _objects, maxTextureSize ) {
 
 			}
 
+			var currentRenderTarget = _renderer.getRenderTarget();
+
 			_renderer.setRenderTarget( shadowMap );
 			_renderer.clear();
 
@@ -18887,6 +18889,8 @@ function WebGLShadowMap( _renderer, _objects, maxTextureSize ) {
 
 		scope.needsUpdate = false;
 
+		_renderer.setRenderTarget( currentRenderTarget );
+
 	};
 
 	function getDepthMaterial( object, material, isPointLight, lightPositionWorld, shadowCameraNear, shadowCameraFar ) {
@@ -23450,7 +23454,7 @@ function WebGLRenderer( parameters ) {
 
 		//
 
-		if ( renderTarget ) {
+		if ( renderTarget !== undefined ) {
 
 			// Generate mipmap if we're using any kind of mipmap filtering
 

+ 4 - 0
src/renderers/webgl/WebGLShadowMap.js

@@ -220,6 +220,8 @@ function WebGLShadowMap( _renderer, _objects, maxTextureSize ) {
 
 			}
 
+			var currentRenderTarget = _renderer.getRenderTarget();
+
 			_renderer.setRenderTarget( shadowMap );
 			_renderer.clear();
 
@@ -256,6 +258,8 @@ function WebGLShadowMap( _renderer, _objects, maxTextureSize ) {
 
 		scope.needsUpdate = false;
 
+		_renderer.setRenderTarget( currentRenderTarget );
+
 	};
 
 	function getDepthMaterial( object, material, isPointLight, lightPositionWorld, shadowCameraNear, shadowCameraFar ) {