OpenXR support for Panda3D

After letting it rest for a long while, I finalized the first usable version of my library to integrate OpenXR with Panda3D :

It is still very basic and limited, but it already supports mono and stereo views, HMD tracking, and hands position tracking. Contrary to OpenVR, OpenXR does not define a manifest language to define the actions, so I must first design an easy way to do it (and in line with what other engines are doing right now :slight_smile: ). And sadly the same applies to skeletons.

Right now it is only available from source, I will publish a wheel version once I have a basic support for actions and created a simple mechanism to link Panda object to tracked elements.

Edit: To avoid package name hijacking, I pushed a first release on PyPi. You can now install the library using pip :

pip install panda3d-openxr

Obligatory screenshot with the Panda mascot

To make it work without needing to modify the Panda source code, I had to use the draw callbacks to reconfigure the OpenGL framebuffer and bind the textures provided by OpenXR instead of the one created by Panda. I don’t think this is the most effective way of doing this. I will probably in the future submit a feature request to optimize this, one I have a clear view of how everything works !

6 Likes

not working

Thank you for your feedback, but could you elaborate a bit or fill in an issue report on GitHub so I can improve the library ?

I’m so excited, This is amazing!

1 Like

Well done on getting to this point, I do feel! :slight_smile:

1 Like