panda3d-openxr
This module provides integration of OpenXR with Panda3D using pyopenxr
Note: The functionalities supported by this preliminary version are still very limited. Only rendering, camera tracking and hand tracking is supported. Pose, action and advanced rendering will ber added in future versions.
Requirements
This module requires Panda3D > 1.10.0, PyOpenGL > 3.0.0, pyopenxr > 1.1.0 and a compliant implementation of OpenXR. It supports Windows, Linux and macOS platforms.
Installation
From wheel
pip install panda3d-openxr
From source
git clone https://github.com/el-dee/panda3d-openxr
cd panda3d-openxr
python3 pip install .
Usage
To use panda3d-openvr, first import the p3dopenvr module in your application :
from p3dopenxr.p3dopenxr import P3DOpenXR
Then, once an instance of ShowBase is created, instanciate the VR interface and initialize it :
myvr = P3DOpenXR()
myvr.init()
Once done, the module will enable the VR application layer of OpenXR, create the left and right cameras (in case of Stereoscopic mode) and configure the rendering system to send the images of each eye to the VR compositor.
The module will create the following hierachy in the scenegraph :
- Traking space origin (tracking_space)
- HMD anchor (hmd_anchor)
- Left eye (left_eye_anchor)
- Right eye (right_eye_anchor)
- Left hand (left_hand_anchor)
- Right eye (right_hand_anchor)
The init method has a couple of parameters to configure :
* The near and far planes of the created cameras
* The framebuffer properties to create the rendering chain
Documentation
There is no documentation available yet...
Examples
All the examples are found under samples/ directory, to launch them simply go to their directory and run:
python3 main.py
Minimal
In minimal you can find a minimal setup that will draw a Panda avatar in front of you, and a (ugly) cube where your hands ought to be.
License and Acknowledgments
This library is licensed under the "Apache License Version 2.0", see the file LICENSE for the full text of the license.
This code is heavily based upon the hello_xr example made by the Khronos Group, and ported to the Python Langage by "Christopher Bump", author of the PyOpenXR library.
Many thanks to them as without their work this library wouldn't exist at all.
Metadata
Release files for panda3d-openxr 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| panda3d_openxr-0.1.2.tar.gz | 32.4 kB | Without provenance | Details for panda3d_openxr-0.1.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| panda3d_openxr-0.1.2-py3-none-any.whl | Python 3 | none | any | Details for panda3d_openxr-0.1.2-py3-none-any.whl |
Total release size: 58.0 kB
Release files / panda3d_openxr-0.1.2.tar.gz
| Download URL | panda3d_openxr-0.1.2.tar.gz |
|---|---|
| Size | 32.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
51d8085ef5b1d3ff1c0b0bb2335df7e8610c04e68ebe64b90fd6847e8fb129cc
|
|
BLAKE2b-256 checksum How to use checksums |
48d9583c9b320cad1fff8d40f9a6127594f98a0f08cd53aea251341b594a16f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.8.10
|
Release files / panda3d_openxr-0.1.2-py3-none-any.whl
| Download URL | panda3d_openxr-0.1.2-py3-none-any.whl |
|---|---|
| Size | 25.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2b2b4a46b5d44019d57ee4c7d6d79800d2eded36e2087ecfadb22b8b33024979
|
|
BLAKE2b-256 checksum How to use checksums |
bf5c656736aa00ec5e9ddbbcf0422de191e267f6bab25bb88befa5ff74eeb496
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.8.10
|
Security for panda3d-openxr 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.