engine
engine copied to clipboard
WebXR: Extension OVR_multiview2
In WebXR, when running VR session, it has multiple views - which basically runs renderer loop for each view. This has a lot of overhead.
OVR_multiview2 extension allows to issue single drawcall to multiple views. This has significant CPU>GPU benefit, by reducing number of WebGL calls from javascript.
After research into it more, here are observations on this extension:
- MultiView is not only WebXR related, and can be used for multi-viewport rendering.
- It affects shaders which use camera projection matrices. This leads to recompilation when changing number of views.
- Currently extension lacks of multisampling, means it is only available with context created with
antialias: false. - If rendering is done into backbuffer - simple blit is available, otherwise it has to render into target using fullscreen quad.
related discussion https://forum.playcanvas.com/t/question-for-devs-on-webxr-multiview-rendering/36605