Explorar o código

Merge pull request #20113 from Mugen87/dev46

WebGLCubeRenderTarget: Moving renderer state logic to WebGLCubeMaps.
Mr.doob %!s(int64=5) %!d(string=hai) anos
pai
achega
258637c2c0

+ 0 - 7
src/renderers/WebGLCubeRenderTarget.js

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

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

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