XRBeginFrame Operator#
Authors: Magic Leap Team (Magic Leap)
Supported platforms: x86_64, aarch64
Language: C++
Last modified: March 9, 2026
Latest version: 1.0
Minimum Holoscan SDK version: 2.0.0
Tested Holoscan SDK versions: 2.0.0
Contribution metric: Level 2 - Trusted
The XrBeginFrameOp operator initiates the rendering of a single OpenXR frame. It converts render buffers and events generated by the OpenXR runtime into Holoscan specific events to be consumed by downstream operators. Application specific operators are then expected to render left and right camera views into the given color and depth buffers. Once complete, the buffers must be passed to XrEndFrameOp in order to deliver the frame back to the OpenXR runtime. Note that a single arc xr_frame from XrBeginFrameOp to XrEndFrameOp is required to synchronize the OpenXR calls issued by the two operators.
holoscan::openxr::XrBeginFrameOp#
Outputs#
Output for camera state
left_camera_pose: camera pose for the left eye- type:
nvidia::gxf::Pose3D right_camera_pose: camera pose for the right eye- type:
nvidia::gxf::Pose3D left_camera_model: camera model for the left eye- type:
nvidia::gxf::CameraModel right_camera_model: camera model for the right eye- type:
nvidia::gxf::CameraModel depth_range: depth range- type:
nvidia::gxf::Vector2f
Output for input state
trigger_click: trigger click , values true/false- type:
bool shoulder_click: shoulder click , values true/false- type:
bool trackpad_touch: trackpad touch , values true/false- type:
bool trackpad: trackpad values [x.y]- type:
std::array<float, 2> aim_pose: aim pose for the controller specific for the right hand- type:
nvidia::gxf::Pose3D head_pose: head pose- type:
nvidia::gxf::Pose3D color_buffer: color buffer- type:
holoscan::gxf::Entity depth_buffer: depth buffer- type:
holoscan::gxf::Entity
Parameters#
XrSession: A class that encapsulates a single OpenXR session- type:
holoscan::openxr::XrSession
Note:
XrCudaInteropSwapchain: A class that encapsulates the Vulkan buffers of the OpenXR runtime and compatible CUDA buffer to provide interoperability between ClaraViz and OpenXR