فهرست منبع

Merge pull request #20113 from Mugen87/dev46

WebGLCubeRenderTarget: Moving renderer state logic to WebGLCubeMaps.
Mr.doob 5 سال پیش
والد
کامیت
258637c2c0
2فایلهای تغییر یافته به همراه8 افزوده شده و 7 حذف شده
  1. 0 7
      src/renderers/WebGLCubeRenderTarget.js
  2. 8 0
      src/renderers/webgl/WebGLCubeMaps.js

+ 0 - 7
src/renderers/WebGLCubeRenderTarget.js

@@ -102,9 +102,6 @@ WebGLCubeRenderTarget.prototype.fromEquirectangularTexture = function ( renderer
 	const mesh = new Mesh( geometry, material );
 
 	const currentMinFilter = texture.minFilter;
-	const currentRenderList = renderer.getRenderList();
-	const currentRenderTarget = renderer.getRenderTarget();
-	const currentRenderState = renderer.getRenderState();
 
 	// Avoid blurred poles
 	if ( texture.minFilter === LinearMipmapLinearFilter ) texture.minFilter = LinearFilter;
@@ -114,10 +111,6 @@ WebGLCubeRenderTarget.prototype.fromEquirectangularTexture = function ( renderer
 
 	texture.minFilter = currentMinFilter;
 
-	renderer.setRenderTarget( currentRenderTarget );
-	renderer.setRenderList( currentRenderList );
-	renderer.setRenderState( currentRenderState );
-
 	mesh.geometry.dispose();
 	mesh.material.dispose();
 

+ 8 - 0
src/renderers/webgl/WebGLCubeMaps.js

@@ -40,10 +40,18 @@ function WebGLCubeMaps( renderer ) {
 
 					if ( image && image.height > 0 ) {
 
+						const currentRenderList = renderer.getRenderList();
+						const currentRenderTarget = renderer.getRenderTarget();
+						const currentRenderState = renderer.getRenderState();
+
 						const renderTarget = new WebGLCubeRenderTarget( image.height / 2 );
 						renderTarget.fromEquirectangularTexture( renderer, texture );
 						cubemaps.set( texture, renderTarget );
 
+						renderer.setRenderTarget( currentRenderTarget );
+						renderer.setRenderList( currentRenderList );
+						renderer.setRenderState( currentRenderState );
+
 						return mapTextureMapping( renderTarget.texture, texture.mapping );
 
 					} else {