MultiViews Part 1

Introduction

The WebGL Multiview extension allows rendering multiple views (eg. each eye for VR scenarios) in a single render pass. This can make rendering around 1.5 to 2.0 times faster.

Multiview is not currently supported in all browsers. If it is supported, the multiview capability should be present.

javascript
scene.getEngine().getCaps().multiview;

Note: Multiview rendering renders to a texture array instead of a standard texture. This may cause unexpected issues when applying postprocessing with custom shaders, effects, or postprocessing (e.g., the highlight layer will have no effect).

Using with VRExperienceHelper

Multiview can be enabled by setting the useMultiview option to true.

javascript
scene.createDefaultVRExperience({ useMultiview: true });
VR Experience Multiview Example

Using with VRDeviceOrientationFreeCamera to display on the screen

Enable through the option in the VRCameraMetrics object:

javascript
// Enable multiview
const multiviewMetrics = BABYLON.VRCameraMetrics.GetDefault();
multiviewMetrics.multiviewEnabled = true;
// Create camera
const multiviewCamera = new BABYLON.VRDeviceOrientationFreeCamera("", new BABYLON.Vector3(-10, 5, 0), scene, undefined, multiviewMetrics);
VRDeviceOrientationFreeCamera Multiview Example