So this is a side project I’ve been working on for over a month now. I was hoping I would finish it by now, but I’m only half way through.
The project isn’t spacificaly exclusive to NReal, but I’m building it to use it with my NReal glasses. Basically It would work with any device that support WebXR.
The idea is simple: Make an OpenVR driver that let you communicate both tracking and view through a web browser using WebXR.
So basically all you have to do is enter your PC private IP in your WebXR supported device and you can stream VR to it
I have never been THIS FAR OFF from my comfort zone Literally every single step was new an required days of reading and testing just so I can wrap my head around it.
The project involved:
- OpenVR API to produce the DLL files for the driver
- websocket (JavaScript) to winsock (C++) communication, for both HTML request for the page, and socket to socket connection.
- OpenSSL for encryption.
I mentioned that I was half way through. I managed to get OpenVR to send a WebXR page by accessing it’s IP. And I managed to send the tracking data to SteamVR.
The next half is getting the image to the device. I already have access to the frames. All I need now is figure out how to stream it to the headset.
Devices in the video I tested the tracking with:
- My phone Asus ROG 3 using “Samsung Internet” browser. Chrome worked too but it was lagging for some reason.
- NReal glasses using the FarePlay app
- Oculus Quest 1 using their newly WebXR supported web browser.
Here’s the video of the devices being test it:
I honestly hope this eventually works I’m hoping this would open a few more doors for those who would like to push their glasses further.
Personally I’m just hopping I can get to enjoy Bigscreen and VRChat in NReal. Hell, maybe even play a bit of Elite Dangerous too