|
@@ -315,7 +315,7 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
this.vr = vr;
|
|
this.vr = vr;
|
|
|
|
|
|
- var multiview = this.multiview = new WebGLMultiview( _multiviewRequested, _gl, _canvas, extensions, capabilities );
|
|
|
|
|
|
+ var multiview = this.multiview = new WebGLMultiview( _multiviewRequested, _gl, _canvas, extensions, capabilities, properties );
|
|
|
|
|
|
// shadow map
|
|
// shadow map
|
|
|
|
|
|
@@ -1178,8 +1178,14 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
this.setRenderTarget( renderTarget );
|
|
this.setRenderTarget( renderTarget );
|
|
|
|
|
|
|
|
+ } else if ( this.multiview.isEnabled() ) {
|
|
|
|
+
|
|
|
|
+ this.setRenderTarget( this.multiview.renderTarget );
|
|
|
|
+ this.multiview.bindFramebuffer( camera );
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
//
|
|
//
|
|
|
|
|
|
background.render( currentRenderList, scene, camera, forceClear );
|
|
background.render( currentRenderList, scene, camera, forceClear );
|
|
@@ -1224,6 +1230,12 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
textures.updateMultisampleRenderTarget( _currentRenderTarget );
|
|
textures.updateMultisampleRenderTarget( _currentRenderTarget );
|
|
|
|
|
|
|
|
+ if ( this.multiview.isEnabled() ) {
|
|
|
|
+
|
|
|
|
+ this.multiview.unbindFramebuffer( camera );
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
// Ensure depth buffer writing is enabled so it can be cleared on next render
|
|
// Ensure depth buffer writing is enabled so it can be cleared on next render
|
|
@@ -1369,25 +1381,6 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
if ( multiview.isEnabled() ) {
|
|
if ( multiview.isEnabled() ) {
|
|
|
|
|
|
- multiview.bindMultiviewFrameBuffer( camera );
|
|
|
|
-
|
|
|
|
- _gl.disable( _gl.SCISSOR_TEST );
|
|
|
|
-
|
|
|
|
- if ( camera.isArrayCamera ) {
|
|
|
|
-
|
|
|
|
- var height = _canvas.height;
|
|
|
|
- var width = Math.floor( _canvas.width * 0.5 );
|
|
|
|
-
|
|
|
|
- } else {
|
|
|
|
-
|
|
|
|
- var width = _canvas.width;
|
|
|
|
- var height = _canvas.height;
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- _gl.viewport( 0, 0, width, height );
|
|
|
|
-
|
|
|
|
- _gl.clear( _gl.COLOR_BUFFER_BIT | _gl.DEPTH_BUFFER_BIT | _gl.STENCIL_BUFFER_BIT );
|
|
|
|
-
|
|
|
|
for ( var i = 0, l = renderList.length; i < l; i ++ ) {
|
|
for ( var i = 0, l = renderList.length; i < l; i ++ ) {
|
|
|
|
|
|
var renderItem = renderList[ i ];
|
|
var renderItem = renderList[ i ];
|
|
@@ -1401,8 +1394,6 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- multiview.unbindMultiviewFrameBuffer( camera );
|
|
|
|
-
|
|
|
|
} else {
|
|
} else {
|
|
|
|
|
|
for ( var i = 0, l = renderList.length; i < l; i ++ ) {
|
|
for ( var i = 0, l = renderList.length; i < l; i ++ ) {
|