浏览代码

fixed viewport order

Emmett Lalish 5 年之前
父节点
当前提交
ccb57cb500
共有 2 个文件被更改,包括 4 次插入4 次删除
  1. 1 1
      examples/jsm/utils/RoughnessMipmapper.js
  2. 3 3
      src/extras/PMREMGenerator.js

+ 1 - 1
examples/jsm/utils/RoughnessMipmapper.js

@@ -85,7 +85,6 @@ var RoughnessMipmapper = ( function () {
 
 			}
 
-			_renderer.setRenderTarget( _tempTarget );
 			_mipmapMaterial.uniforms.roughnessMap.value = roughnessMap;
 			_mipmapMaterial.uniforms.normalMap.value = normalMap;
 
@@ -104,6 +103,7 @@ var RoughnessMipmapper = ( function () {
 				var viewport = new Vector4( position.x, position.y, width / dpr, height / dpr );
 				_tempTarget.viewport.copy( viewport );
 				_tempTarget.scissor.copy( viewport );
+				_renderer.setRenderTarget( _tempTarget );
 				_renderer.render( _scene, _flatCamera );
 				_renderer.copyFramebufferToTexture( position, material.roughnessMap, mip );
 				_mipmapMaterial.uniforms.roughnessMap.value = material.roughnessMap;

+ 3 - 3
src/extras/PMREMGenerator.js

@@ -344,7 +344,6 @@ function _sceneToCubeUV( scene, near, far, cubeUVRenderTarget ) {
 
 	}
 
-	_renderer.setRenderTarget( cubeUVRenderTarget );
 	for ( var i = 0; i < 6; i ++ ) {
 
 		var col = i % 3;
@@ -366,6 +365,7 @@ function _sceneToCubeUV( scene, near, far, cubeUVRenderTarget ) {
 		}
 		_setViewport( cubeUVRenderTarget,
 			col * SIZE_MAX, i > 2 ? SIZE_MAX : 0, SIZE_MAX, SIZE_MAX );
+		_renderer.setRenderTarget( cubeUVRenderTarget );
 		_renderer.render( scene, cubeCamera );
 
 	}
@@ -411,8 +411,8 @@ function _textureToCubeUV( texture, cubeUVRenderTarget ) {
 	uniforms[ 'inputEncoding' ].value = ENCODINGS[ texture.encoding ];
 	uniforms[ 'outputEncoding' ].value = ENCODINGS[ texture.encoding ];
 
-	_renderer.setRenderTarget( cubeUVRenderTarget );
 	_setViewport( cubeUVRenderTarget, 0, 0, 3 * SIZE_MAX, 2 * SIZE_MAX );
+	_renderer.setRenderTarget( cubeUVRenderTarget );
 	_renderer.render( scene, _flatCamera );
 
 }
@@ -570,8 +570,8 @@ function _halfBlur( targetIn, targetOut, lodIn, lodOut, sigmaRadians, direction,
 	2 * outputSize *
 		( lodOut > LOD_MAX - LOD_MIN ? lodOut - LOD_MAX + LOD_MIN : 0 );
 
-	_renderer.setRenderTarget( targetOut );
 	_setViewport( targetOut, x, y, 3 * outputSize, 2 * outputSize );
+	_renderer.setRenderTarget( targetOut );
 	_renderer.render( blurScene, _flatCamera );
 
 }