Ralith / openxrs

OpenXR bindings for Rust
Apache License 2.0
281 stars 59 forks source link

early Android OpenGLES support, tested on Quest 2 #138

Closed mutantbob closed 1 year ago

mutantbob commented 1 year ago

This is a Graphics implementation that seems to work on my Quest 2 VR headset.

I have used it with the project at https://github.com/mutantbob/android-openxr-exp and it seems to work.

It is time to get it in front of more developers so it can be tuned and tested on more headsets.

Ralith commented 1 year ago

How does this differ from the existing OpenGlEs integration?

zmerp commented 1 year ago

I'm using the existing OpenGLES implementation in openxrs without issues on the Quest 2 (and other android headsets). Here is my project: https://github.com/alvr-org/ALVR/blob/master/alvr/client_openxr/src/lib.rs

mutantbob commented 1 year ago

It looks like my patch is superfluous. In my early research I failed to locate any android examples using the openxr crate, so ended up bootstrapping by converting some C code into openxr_sys and then openxr, and writing my own Graphics implementation.

Comparing the two implementations the major points are that

I was able to convert my android-openxr-exp example to use the OpenGlEs from git with a little difficulty (getting the capitalization correct was challenging since IntelliJ's Rust plugin was being brain-dead until I restarted the IDE)

I look forward to this OpenGlEs implementation being available in a published version of the crate.