|
@@ -20416,11 +20416,10 @@ function WebGLRenderer( parameters ) {
|
|
|
_currentCamera = null,
|
|
|
_currentArrayCamera = null,
|
|
|
|
|
|
+ _currentViewport = new Vector4(),
|
|
|
_currentScissor = new Vector4(),
|
|
|
_currentScissorTest = null,
|
|
|
|
|
|
- _currentViewport = new Vector4(),
|
|
|
-
|
|
|
//
|
|
|
|
|
|
_usedTextureUnits = 0,
|
|
@@ -20432,11 +20431,10 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
_pixelRatio = 1,
|
|
|
|
|
|
+ _viewport = new Vector4( 0, 0, _width, _height ),
|
|
|
_scissor = new Vector4( 0, 0, _width, _height ),
|
|
|
_scissorTest = false,
|
|
|
|
|
|
- _viewport = new Vector4( 0, 0, _width, _height ),
|
|
|
-
|
|
|
// frustum
|
|
|
|
|
|
_frustum = new Frustum(),
|
|
@@ -21712,8 +21710,8 @@ function WebGLRenderer( parameters ) {
|
|
|
var width = bounds.z * _width;
|
|
|
var height = bounds.w * _height;
|
|
|
|
|
|
- state.viewport( _currentViewport.set( x, y, width, height ) );
|
|
|
- state.scissor( _currentScissor.set( x, y, width, height ) );
|
|
|
+ state.viewport( _currentViewport.set( x, y, width, height ).multiplyScalar( _pixelRatio ) );
|
|
|
+ state.scissor( _currentScissor.set( x, y, width, height ).multiplyScalar( _pixelRatio ) );
|
|
|
state.setScissorTest( true );
|
|
|
|
|
|
renderObject( object, scene, camera2, geometry, material, group );
|
|
@@ -21722,6 +21720,10 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ state.viewport( _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ) );
|
|
|
+ state.scissor( _currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio ) );
|
|
|
+ state.setScissorTest( _currentScissorTest );
|
|
|
+
|
|
|
} else {
|
|
|
|
|
|
_currentArrayCamera = null;
|
|
@@ -22886,37 +22888,34 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
- var isCube = ( renderTarget && renderTarget.isWebGLRenderTargetCube );
|
|
|
- var framebuffer;
|
|
|
+ var framebuffer = null;
|
|
|
+ var isCube = false;
|
|
|
|
|
|
if ( renderTarget ) {
|
|
|
|
|
|
- var renderTargetProperties = properties.get( renderTarget );
|
|
|
+ var __webglFramebuffer = properties.get( renderTarget ).__webglFramebuffer;
|
|
|
|
|
|
- if ( isCube ) {
|
|
|
+ if ( renderTarget.isWebGLRenderTargetCube ) {
|
|
|
|
|
|
- framebuffer = renderTargetProperties.__webglFramebuffer[ renderTarget.activeCubeFace ];
|
|
|
+ framebuffer = __webglFramebuffer[ renderTarget.activeCubeFace ];
|
|
|
+ isCube = true;
|
|
|
|
|
|
} else {
|
|
|
|
|
|
- framebuffer = renderTargetProperties.__webglFramebuffer;
|
|
|
+ framebuffer = __webglFramebuffer;
|
|
|
|
|
|
}
|
|
|
|
|
|
+ _currentViewport.copy( renderTarget.viewport );
|
|
|
_currentScissor.copy( renderTarget.scissor );
|
|
|
_currentScissorTest = renderTarget.scissorTest;
|
|
|
|
|
|
- _currentViewport.copy( renderTarget.viewport );
|
|
|
-
|
|
|
} else {
|
|
|
|
|
|
- framebuffer = null;
|
|
|
-
|
|
|
+ _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio );
|
|
|
_currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio );
|
|
|
_currentScissorTest = _scissorTest;
|
|
|
|
|
|
- _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio );
|
|
|
-
|
|
|
}
|
|
|
|
|
|
if ( _currentFramebuffer !== framebuffer ) {
|
|
@@ -22926,11 +22925,10 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ state.viewport( _currentViewport );
|
|
|
state.scissor( _currentScissor );
|
|
|
state.setScissorTest( _currentScissorTest );
|
|
|
|
|
|
- state.viewport( _currentViewport );
|
|
|
-
|
|
|
if ( isCube ) {
|
|
|
|
|
|
var textureProperties = properties.get( renderTarget.texture );
|