|
@@ -21764,7 +21764,9 @@ function WebGLRenderState( extensions ) {
|
|
lightsArray: lightsArray,
|
|
lightsArray: lightsArray,
|
|
shadowsArray: shadowsArray,
|
|
shadowsArray: shadowsArray,
|
|
|
|
|
|
- lights: lights
|
|
|
|
|
|
+ lights: lights,
|
|
|
|
+
|
|
|
|
+ transmissionRenderTarget: null
|
|
};
|
|
};
|
|
|
|
|
|
return {
|
|
return {
|
|
@@ -28112,7 +28114,7 @@ class WebGLRenderer {
|
|
canvas = createCanvasElement(),
|
|
canvas = createCanvasElement(),
|
|
context = null,
|
|
context = null,
|
|
depth = true,
|
|
depth = true,
|
|
- stencil = true,
|
|
|
|
|
|
+ stencil = false,
|
|
alpha = false,
|
|
alpha = false,
|
|
antialias = false,
|
|
antialias = false,
|
|
premultipliedAlpha = true,
|
|
premultipliedAlpha = true,
|
|
@@ -28245,10 +28247,6 @@ class WebGLRenderer {
|
|
let _clippingEnabled = false;
|
|
let _clippingEnabled = false;
|
|
let _localClippingEnabled = false;
|
|
let _localClippingEnabled = false;
|
|
|
|
|
|
- // transmission
|
|
|
|
-
|
|
|
|
- let _transmissionRenderTarget = null;
|
|
|
|
-
|
|
|
|
// camera matrices cache
|
|
// camera matrices cache
|
|
|
|
|
|
const _projScreenMatrix = new Matrix4();
|
|
const _projScreenMatrix = new Matrix4();
|
|
@@ -28698,13 +28696,6 @@ class WebGLRenderer {
|
|
xr.removeEventListener( 'sessionstart', onXRSessionStart );
|
|
xr.removeEventListener( 'sessionstart', onXRSessionStart );
|
|
xr.removeEventListener( 'sessionend', onXRSessionEnd );
|
|
xr.removeEventListener( 'sessionend', onXRSessionEnd );
|
|
|
|
|
|
- if ( _transmissionRenderTarget ) {
|
|
|
|
-
|
|
|
|
- _transmissionRenderTarget.dispose();
|
|
|
|
- _transmissionRenderTarget = null;
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
animation.stop();
|
|
animation.stop();
|
|
|
|
|
|
};
|
|
};
|
|
@@ -29456,9 +29447,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,
|
|
generateMipmaps: true,
|
|
type: ( extensions.has( 'EXT_color_buffer_half_float' ) || extensions.has( 'EXT_color_buffer_float' ) ) ? HalfFloatType : UnsignedByteType,
|
|
type: ( extensions.has( 'EXT_color_buffer_half_float' ) || extensions.has( 'EXT_color_buffer_float' ) ) ? HalfFloatType : UnsignedByteType,
|
|
minFilter: LinearMipmapLinearFilter,
|
|
minFilter: LinearMipmapLinearFilter,
|
|
@@ -29477,13 +29468,15 @@ class WebGLRenderer {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ const transmissionRenderTarget = currentRenderState.state.transmissionRenderTarget;
|
|
|
|
+
|
|
_this.getDrawingBufferSize( _vector2 );
|
|
_this.getDrawingBufferSize( _vector2 );
|
|
- _transmissionRenderTarget.setSize( _vector2.x, _vector2.y );
|
|
|
|
|
|
+ transmissionRenderTarget.setSize( _vector2.x, _vector2.y );
|
|
|
|
|
|
//
|
|
//
|
|
|
|
|
|
const currentRenderTarget = _this.getRenderTarget();
|
|
const currentRenderTarget = _this.getRenderTarget();
|
|
- _this.setRenderTarget( _transmissionRenderTarget );
|
|
|
|
|
|
+ _this.setRenderTarget( transmissionRenderTarget );
|
|
|
|
|
|
_this.getClearColor( _currentClearColor );
|
|
_this.getClearColor( _currentClearColor );
|
|
_currentClearAlpha = _this.getClearAlpha();
|
|
_currentClearAlpha = _this.getClearAlpha();
|
|
@@ -29498,8 +29491,8 @@ class WebGLRenderer {
|
|
|
|
|
|
renderObjects( opaqueObjects, scene, camera );
|
|
renderObjects( opaqueObjects, scene, camera );
|
|
|
|
|
|
- textures.updateMultisampleRenderTarget( _transmissionRenderTarget );
|
|
|
|
- textures.updateRenderTargetMipmap( _transmissionRenderTarget );
|
|
|
|
|
|
+ textures.updateMultisampleRenderTarget( transmissionRenderTarget );
|
|
|
|
+ textures.updateRenderTargetMipmap( transmissionRenderTarget );
|
|
|
|
|
|
let renderTargetNeedsUpdate = false;
|
|
let renderTargetNeedsUpdate = false;
|
|
|
|
|
|
@@ -29532,8 +29525,8 @@ class WebGLRenderer {
|
|
|
|
|
|
if ( renderTargetNeedsUpdate === true ) {
|
|
if ( renderTargetNeedsUpdate === true ) {
|
|
|
|
|
|
- textures.updateMultisampleRenderTarget( _transmissionRenderTarget );
|
|
|
|
- textures.updateRenderTargetMipmap( _transmissionRenderTarget );
|
|
|
|
|
|
+ textures.updateMultisampleRenderTarget( transmissionRenderTarget );
|
|
|
|
+ textures.updateRenderTargetMipmap( transmissionRenderTarget );
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -30066,7 +30059,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 );
|
|
WebGLUniforms.upload( _gl, getUniformList( materialProperties ), m_uniforms, textures );
|
|
|
|
|