|
@@ -201,10 +201,6 @@ class WebGLRenderer {
|
|
|
let _clippingEnabled = false;
|
|
|
let _localClippingEnabled = false;
|
|
|
|
|
|
- // transmission
|
|
|
-
|
|
|
- let _transmissionRenderTarget = null;
|
|
|
-
|
|
|
// camera matrices cache
|
|
|
|
|
|
const _projScreenMatrix = new Matrix4();
|
|
@@ -654,13 +650,6 @@ class WebGLRenderer {
|
|
|
xr.removeEventListener( 'sessionstart', onXRSessionStart );
|
|
|
xr.removeEventListener( 'sessionend', onXRSessionEnd );
|
|
|
|
|
|
- if ( _transmissionRenderTarget ) {
|
|
|
-
|
|
|
- _transmissionRenderTarget.dispose();
|
|
|
- _transmissionRenderTarget = null;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
animation.stop();
|
|
|
|
|
|
};
|
|
@@ -1412,9 +1401,9 @@ class WebGLRenderer {
|
|
|
|
|
|
}
|
|
|
|
|
|
- if ( _transmissionRenderTarget === null ) {
|
|
|
+ if ( currentRenderState.state.transmissionRenderTarget === null ) {
|
|
|
|
|
|
- _transmissionRenderTarget = new WebGLRenderTarget( 1, 1, {
|
|
|
+ currentRenderState.state.transmissionRenderTarget = new WebGLRenderTarget( 1, 1, {
|
|
|
generateMipmaps: true,
|
|
|
type: ( extensions.has( 'EXT_color_buffer_half_float' ) || extensions.has( 'EXT_color_buffer_float' ) ) ? HalfFloatType : UnsignedByteType,
|
|
|
minFilter: LinearMipmapLinearFilter,
|
|
@@ -1433,13 +1422,15 @@ class WebGLRenderer {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ const transmissionRenderTarget = currentRenderState.state.transmissionRenderTarget;
|
|
|
+
|
|
|
_this.getDrawingBufferSize( _vector2 );
|
|
|
- _transmissionRenderTarget.setSize( _vector2.x, _vector2.y );
|
|
|
+ transmissionRenderTarget.setSize( _vector2.x, _vector2.y );
|
|
|
|
|
|
//
|
|
|
|
|
|
const currentRenderTarget = _this.getRenderTarget();
|
|
|
- _this.setRenderTarget( _transmissionRenderTarget );
|
|
|
+ _this.setRenderTarget( transmissionRenderTarget );
|
|
|
|
|
|
_this.getClearColor( _currentClearColor );
|
|
|
_currentClearAlpha = _this.getClearAlpha();
|
|
@@ -1454,8 +1445,8 @@ class WebGLRenderer {
|
|
|
|
|
|
renderObjects( opaqueObjects, scene, camera );
|
|
|
|
|
|
- textures.updateMultisampleRenderTarget( _transmissionRenderTarget );
|
|
|
- textures.updateRenderTargetMipmap( _transmissionRenderTarget );
|
|
|
+ textures.updateMultisampleRenderTarget( transmissionRenderTarget );
|
|
|
+ textures.updateRenderTargetMipmap( transmissionRenderTarget );
|
|
|
|
|
|
let renderTargetNeedsUpdate = false;
|
|
|
|
|
@@ -1488,8 +1479,8 @@ class WebGLRenderer {
|
|
|
|
|
|
if ( renderTargetNeedsUpdate === true ) {
|
|
|
|
|
|
- textures.updateMultisampleRenderTarget( _transmissionRenderTarget );
|
|
|
- textures.updateRenderTargetMipmap( _transmissionRenderTarget );
|
|
|
+ textures.updateMultisampleRenderTarget( transmissionRenderTarget );
|
|
|
+ textures.updateRenderTargetMipmap( transmissionRenderTarget );
|
|
|
|
|
|
}
|
|
|
|
|
@@ -2022,7 +2013,7 @@ class WebGLRenderer {
|
|
|
|
|
|
}
|
|
|
|
|
|
- materials.refreshMaterialUniforms( m_uniforms, material, _pixelRatio, _height, _transmissionRenderTarget );
|
|
|
+ materials.refreshMaterialUniforms( m_uniforms, material, _pixelRatio, _height, currentRenderState.state.transmissionRenderTarget );
|
|
|
|
|
|
WebGLUniforms.upload( _gl, getUniformList( materialProperties ), m_uniforms, textures );
|
|
|
|