O Xov, 03-08-2017 ás 10:56 -0700, Alexis Menard escribiu:
Hi,
On Aug 3, 2017, at 9:19 AM, Sergio Villar Senin <svillar@igalia.com
wrote:
O Xov, 03-08-2017 ás 08:44 -0700, Alexis Menard escribiu:
Hi,
On Aug 3, 2017, at 7:52 AM, Dean Jackson <dino@apple.com> wrote:
On 2 Aug 2017, at 19:55, Sergio Villar Senin <svillar@igalia. com> wrote:
Our main interest is to eventually have some implementation working on WebKitGtk and/or WPE on Linux but obviously there is a lot of cross- platform work that needs to be done as well. Our initial idea would be to use the OpenVR API as Valve released a Linux version of their SDK some months ago. Looks like a safe bet as other vendors like Firefox or Chromium already include it in their trees as third party.
I agree with the idea to assume use of the OpenVR SDK at the moment. It is the only major VR SDK that is available for macOS, Linux and Windows.
So maybe our platform API should be very similar to the OpenVR API? I haven't looked at other SDKs like Oculus, but hopefully it isn't too different.
You should also keep an eye on OpenXR which is being discussed in Khronos. These seems like the future standard API for applications to hook into to support VR (independently of the underlaying VR runtime). More info there : https://www.khronos.org/openxr
Right I'm aware of that effort. The thing is that using OpenXR does not imply that you can get rid of native SDKs anyway. From conversations I had with some other people involved in WebVR efforts it looks like the main SDKs (like Oculus or Vive's) will be used anyway if available and that OpenXR would be more like a fallback for the hundreds of devices that will hit the market soon.
That’s correct that native VR runtimes will still be a requirements but they are going to be under the OpenXR application layer (read Oculus and Steam will most likely make their runtime OpenXR compliant). The benefits of OpenXR for WebKit (or any engine) is that you’ll have a unique backend to talk to a VR runtime (whatever the user has installed).
That's clear, having a unified interface for VR is something that was never there and one of the reasons why the market has been always that fragmented.
Please note that OpenXR is two folds, an application interface/API for applications (say in this case WebKit) to talk to a VR runtime and render stuff (as well as getting information from the device) and a Device Layer used by HMDs manufacturers (or hundred devices as you say) so that VR runtimes can talk to any OpenXR compliant devices. This will help for example SteamVR or Oculus Runtime to be compatible with the gazillions of devices flooding the market at some point provided the later are compliant with OpenXR.
Right, let's hope that those two extra layers wouldn't cause any significant performance issue, something that is still not clear IMO.
But OpenXR is 2018 material so indeed OpenVR is probably a good bet for immediate support. Please note that SteamVR allows you to use Oculus Rift HMD not just HTC Vive so in theory (but I haven’t tried it with OpenVR) you shouldn’t need a dedicated backend for Oculus.
That supports my point, but that's only for Windows (as it requires Oculus SDK if I am not wrong), isn't it? In any case, from the WebKit's POV, OpenVR must not be a requirement, it is just one of the potential platform libs and we'd have to design some platform API anyway. Should we base it on OpenVR is something that could be changed in the future to make it more friendly for other backends (like OpenXR). After all, all the SDKs share more or less the same concepts. BR