|
@@ -1381,76 +1381,63 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
function renderObjects( renderList, scene, camera, overrideMaterial ) {
|
|
|
|
|
|
- if ( multiview.isEnabled() ) {
|
|
|
-
|
|
|
- for ( var i = 0, l = renderList.length; i < l; i ++ ) {
|
|
|
-
|
|
|
- var renderItem = renderList[ i ];
|
|
|
+ for ( var i = 0, l = renderList.length; i < l; i ++ ) {
|
|
|
|
|
|
- var object = renderItem.object;
|
|
|
- var geometry = renderItem.geometry;
|
|
|
- var material = overrideMaterial === undefined ? renderItem.material : overrideMaterial;
|
|
|
- var group = renderItem.group;
|
|
|
-
|
|
|
- renderObject( object, scene, camera, geometry, material, group );
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- } else {
|
|
|
+ var renderItem = renderList[ i ];
|
|
|
|
|
|
- for ( var i = 0, l = renderList.length; i < l; i ++ ) {
|
|
|
+ var object = renderItem.object;
|
|
|
+ var geometry = renderItem.geometry;
|
|
|
+ var material = overrideMaterial === undefined ? renderItem.material : overrideMaterial;
|
|
|
+ var group = renderItem.group;
|
|
|
|
|
|
- var renderItem = renderList[ i ];
|
|
|
+ if ( multiview.isEnabled() ) {
|
|
|
|
|
|
- var object = renderItem.object;
|
|
|
- var geometry = renderItem.geometry;
|
|
|
- var material = overrideMaterial === undefined ? renderItem.material : overrideMaterial;
|
|
|
- var group = renderItem.group;
|
|
|
+ _currentArrayCamera = camera;
|
|
|
|
|
|
- if ( camera.isArrayCamera ) {
|
|
|
+ renderObject( object, scene, camera, geometry, material, group );
|
|
|
|
|
|
- _currentArrayCamera = camera;
|
|
|
+ } else if ( camera.isArrayCamera ) {
|
|
|
|
|
|
- var cameras = camera.cameras;
|
|
|
+ _currentArrayCamera = camera;
|
|
|
|
|
|
- for ( var j = 0, jl = cameras.length; j < jl; j ++ ) {
|
|
|
+ var cameras = camera.cameras;
|
|
|
|
|
|
- var camera2 = cameras[ j ];
|
|
|
+ for ( var j = 0, jl = cameras.length; j < jl; j ++ ) {
|
|
|
|
|
|
- if ( object.layers.test( camera2.layers ) ) {
|
|
|
+ var camera2 = cameras[ j ];
|
|
|
|
|
|
- if ( 'viewport' in camera2 ) { // XR
|
|
|
+ if ( object.layers.test( camera2.layers ) ) {
|
|
|
|
|
|
- state.viewport( _currentViewport.copy( camera2.viewport ) );
|
|
|
+ if ( 'viewport' in camera2 ) { // XR
|
|
|
|
|
|
- } else {
|
|
|
+ state.viewport( _currentViewport.copy( camera2.viewport ) );
|
|
|
|
|
|
- var bounds = camera2.bounds;
|
|
|
+ } else {
|
|
|
|
|
|
- var x = bounds.x * _width;
|
|
|
- var y = bounds.y * _height;
|
|
|
- var width = bounds.z * _width;
|
|
|
- var height = bounds.w * _height;
|
|
|
+ var bounds = camera2.bounds;
|
|
|
|
|
|
- state.viewport( _currentViewport.set( x, y, width, height ).multiplyScalar( _pixelRatio ) );
|
|
|
+ var x = bounds.x * _width;
|
|
|
+ var y = bounds.y * _height;
|
|
|
+ var width = bounds.z * _width;
|
|
|
+ var height = bounds.w * _height;
|
|
|
|
|
|
- }
|
|
|
+ state.viewport( _currentViewport.set( x, y, width, height ).multiplyScalar( _pixelRatio ) );
|
|
|
|
|
|
- currentRenderState.setupLights( camera2 );
|
|
|
+ }
|
|
|
|
|
|
- renderObject( object, scene, camera2, geometry, material, group );
|
|
|
+ currentRenderState.setupLights( camera2 );
|
|
|
|
|
|
- }
|
|
|
+ renderObject( object, scene, camera2, geometry, material, group );
|
|
|
|
|
|
}
|
|
|
|
|
|
- } else {
|
|
|
+ }
|
|
|
|
|
|
- _currentArrayCamera = null;
|
|
|
+ } else {
|
|
|
|
|
|
- renderObject( object, scene, camera, geometry, material, group );
|
|
|
+ _currentArrayCamera = null;
|
|
|
|
|
|
- }
|
|
|
+ renderObject( object, scene, camera, geometry, material, group );
|
|
|
|
|
|
}
|
|
|
|