question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Support "OCULUS_multiview" WebGL extension

See original GitHub issue

Three.js supports the "OVR_multiview2" WebGL2 extension, which is enabled by default in some browsers. However that extension only works on non-anti-aliased contexts, which results in a very rough image. Further, the Oculus browser only supports it behind a flag.

Oculus has implemented their own version of the extension in the Oculus browser ("OCULUS_multiview"), and it supports multi-sample anti-aliasing as well. It appears Three.js doesn’t support this one though.

Details and an example implementation is available here: https://developer.oculus.com/documentation/oculus-browser/browser-multiview/

It seems like this is a huge performance win for Three.js users, while still supporting anti-aliasing unlike Firefox Reality and other browsers. A quote from the page above:

Often, a CPU usage reduction of 25% - 50% is possible.

Is there any interest in implementing support for this Oculus specific, but very useful extension?

Issue Analytics

  • State:open
  • Created 3 years ago
  • Reactions:4
  • Comments:5 (2 by maintainers)

github_iconTop GitHub Comments

2reactions
Artyom17commented, Sep 18, 2020

@mrdoob Yeah, OCULUS_multiview is enabled by default (it can be disabled via chrome://flags though, for debugging purposes). You can see an example of it usage here: https://artyom17.github.io/webxr-samples/multi-layer-mv.html (source: https://github.com/Artyom17/webxr-samples/blob/master/multi-layer-mv.html). There is intent to propose the extension to WebGL WG, however, there are several drawbacks at the moment which will delay the acceptance of the extension. And, of course, it will have a different name. But I can’t provide any ETA for that.

1reaction
mrdoobcommented, Sep 17, 2020

Yes! That’d be great. Is OCULUS_multiview enabled by default?

We used to support OVR_multiview2 but I decided to remove the code because the lack of antialias support.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Multiview WebGL Rendering - Oculus Developer
Describes multiview rendering, its benefits when developing for Meta Quest Browser, and sample code that shows how to use multiview rendering.
Read more >
OVR_multiview2 - Web APIs - MDN Web Docs
The OVR_multiview2 extension is part of the WebGL API and adds support for rendering into multiple views simultaneously.
Read more >
WEBGL_multiview in Oculus Browser - Meta Community Forums
I am trying to use multiview rendering in WebVR for Quest Browser as explained here. However "var ext = gl.getExtension('WEBGL_multiview'); ...
Read more >
Multiview on WebXR - Mozilla Mixed Reality Blog
The WebGL multiview extension is already available in several browsers ... When VR first arrived, many engines supported stereo rendering by ...
Read more >
How to turn on multiview easily in WebXR? - Questions - Babylon.js
WebXR doesn't support the kind of multiview in this docs (though I will be ... (and set the oculus extension for multiview) to...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found