engine icon indicating copy to clipboard operation
engine copied to clipboard

WebXR: Extension OVR_multiview2

Open Maksims opened this issue 5 years ago • 2 comments

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.

Maksims avatar Mar 07 '20 00:03 Maksims

After research into it more, here are observations on this extension:

  1. MultiView is not only WebXR related, and can be used for multi-viewport rendering.
  2. It affects shaders which use camera projection matrices. This leads to recompilation when changing number of views.
  3. Currently extension lacks of multisampling, means it is only available with context created with antialias: false.
  4. If rendering is done into backbuffer - simple blit is available, otherwise it has to render into target using fullscreen quad.

Maksims avatar Apr 04 '20 13:04 Maksims

related discussion https://forum.playcanvas.com/t/question-for-devs-on-webxr-multiview-rendering/36605

mvaligursky avatar Jul 30 '24 15:07 mvaligursky