XrBeginFrameOp
XRBeginFrame Operator¶
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