Find support for 10bit HDR content rendering via OpenXR, as well as additional Python functions and signals when in OpenXR.
With the availability of HMDs, such as the Shiftall MeganeX, which have a 10bit LDR/HDR split lens micro OLED display, we have added support for rendering this content via OpenXR.
In 2025.3, we've added the following Python services, functions, and signals for OpenXR:
vrdVRDevice.enableRay() - Enables the adjustment of the laser pointer ray position along the X, Y, or Z axis for different controllers when in OpenXR. The orientation of the ray will be different from that in OpenXR.
The X, Y, and Z axis are not the same for this function in OpenXR and OpenVR. OpenXR uses the coordinate systems of the controller models and reverses the Z-axis to let it point away from the user when holding the controller.
vrdVRDevice.disableRay() - Enables the use of the attached controller to hide the laser pointer ray when in OpenXR.
vrdVRDevice.pick() - Enables picking using the ray when vrdVRDevice.enableRay(axis)
is enabled. This returns a vrdRayIntersection
object of the attached controllers when in OpenXR.
vrdDeviceActionSignal - Excludes the device when in OpenXR. For an example of use, check out the Python VR example file, connectToDeviceActionSignal.py, which triggers the signal when an action, such as pointer, teleport, or VR menu interaction, is executed.
vrdVRDeviceSignal.moved - The controllers now also send the moved signal in Python when using OpenXR.
vrDeviceService.deviceCollisionStarted and vrDeviceService.deviceCollisionStopped - The controllers now also send the collisionStarted
and collisionStopped
signals in Python when using OpenXR.