提交 0cd4f997 编写于 作者: F Fernando Serrano

Move multiview.isAvailable() to renderer.capabilities.multiview

上级 5b395083
......@@ -74,7 +74,7 @@
info.style.width = '100%';
info.style.textAlign = 'center';
info.innerHTML = '<a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> webvr - multiview<br/>';
info.innerHTML += renderer.multiview.isAvailable() ? `<span style="color: #33ff33"><b>OVR_multiview2</b> is supported in your browser</span>` :
info.innerHTML += renderer.capabilities.multiview ? `<span style="color: #33ff33"><b>OVR_multiview2</b> is supported in your browser</span>` :
`<span style="color: #ff3333"><b>OVR_multiview2</b> is not supported or enabled in your browser</span>`;
container.appendChild( info );
......@@ -86,7 +86,7 @@
room = new THREE.LineSegments(
new BoxLineGeometry( 6, 6, 6, 10, 10, 10 ),
new THREE.LineBasicMaterial( { color: renderer.multiview.isAvailable() ? 0x99ff99 : 0xff3333 } )
new THREE.LineBasicMaterial( { color: renderer.capabilities.multiview ? 0x99ff99 : 0xff3333 } )
);
room.geometry.translate( 0, 3, 0 );
scene.add( room );
......
......@@ -317,7 +317,7 @@ function WebGLRenderer( parameters ) {
// Multiview
var multiview = new WebGLMultiview( _this, _gl, _gl.getContextAttributes() );
var multiview = new WebGLMultiview( _this, _gl );
this.multiview = multiview;
......@@ -1184,7 +1184,7 @@ function WebGLRenderer( parameters ) {
}
if ( multiview.isAvailable() ) {
if ( capabilities.multiview ) {
multiview.attachRenderTarget( camera );
......@@ -1244,7 +1244,7 @@ function WebGLRenderer( parameters ) {
state.setPolygonOffset( false );
if ( multiview.isAvailable() ) {
if ( capabilities.multiview ) {
multiview.detachRenderTarget( camera );
......@@ -1392,7 +1392,7 @@ function WebGLRenderer( parameters ) {
var material = overrideMaterial === undefined ? renderItem.material : overrideMaterial;
var group = renderItem.group;
if ( multiview.isAvailable() ) {
if ( capabilities.multiview ) {
_currentArrayCamera = camera;
......
......@@ -87,7 +87,7 @@ function WebGLCapabilities( gl, extensions, parameters ) {
var maxSamples = isWebGL2 ? gl.getParameter( gl.MAX_SAMPLES ) : 0;
var multiviewExt = extensions.get( 'OVR_multiview2' );
var multiview = isWebGL2 && ( !! multiviewExt );
var multiview = isWebGL2 && ( !! multiviewExt ) && !gl.getContextAttributes().antialias;
var maxMultiviewViews = multiview ? gl.getParameter( multiviewExt.MAX_VIEWS_OVR ) : 0;
return {
......
......@@ -8,7 +8,7 @@ import { Matrix3 } from '../../math/Matrix3.js';
import { Matrix4 } from '../../math/Matrix4.js';
import { Vector2 } from '../../math/Vector2.js';
function WebGLMultiview( renderer, gl, contextAttributes ) {
function WebGLMultiview( renderer, gl ) {
var DEFAULT_NUMVIEWS = 2;
......@@ -50,12 +50,6 @@ function WebGLMultiview( renderer, gl, contextAttributes ) {
//
function isAvailable() {
return capabilities.multiview && ! contextAttributes.antialias;
}
function updateCameraProjectionMatricesUniform( camera, uniforms ) {
var cameras = getCameraArray( camera );
......@@ -203,7 +197,7 @@ function WebGLMultiview( renderer, gl, contextAttributes ) {
}
if ( isAvailable() ) {
if ( renderer.capabilities.multiview ) {
renderTarget = new WebGLMultiviewRenderTarget( 0, 0, DEFAULT_NUMVIEWS );
......@@ -224,7 +218,6 @@ function WebGLMultiview( renderer, gl, contextAttributes ) {
this.attachRenderTarget = attachRenderTarget;
this.detachRenderTarget = detachRenderTarget;
this.isAvailable = isAvailable;
this.getNumViews = getNumViews;
this.updateCameraProjectionMatricesUniform = updateCameraProjectionMatricesUniform;
this.updateCameraViewMatricesUniform = updateCameraViewMatricesUniform;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册