Monado OpenXR Runtime
Loading...
Searching...
No Matches
xrt::state_trackers::openvr::Compositor Struct Reference
Collaboration diagram for xrt::state_trackers::openvr::Compositor:

Public Member Functions

 Compositor (xrt_system_devices *xsysd, xrt_compositor_native *xcn, xrt_system_compositor *xsysc, std::shared_ptr< Events > &events)
 
vr::EVRCompositorError WaitBeginFrame (openvr_logger &logger)
 Waits for the next frame and begins it, cancelling/releasing any previously active frame and it's resources, if it exists.
 
vr::EVRCompositorError Submit (openvr_logger &logger, vr::EVREye eye, const vr::Texture_t &texture, const vr::VRTextureBounds_t &bounds, vr::EVRSubmitFlags nSubmitFlags)
 Submits a texture for an eye, completing the frame if both eyes have been submit.
 
void GetOutputDevice (openvr_logger &logger, uint64_t *out_device, vr::ETextureType texture_type, VkInstance pInstance)
 
timepoint_ns GetTimeForPredictions ()
 
time_duration_ns GetFramePeriod ()
 
xrt_result_t GetFrameRenderState (std::array< xrt_fov, 2 > &fovs, std::array< xrt_pose, 2 > &T_head_eyes, xrt_pose &head_relation)
 

Data Fields

std::optional< timepoint_nslast_predicted_display_time {std::nullopt}
 
std::optional< time_duration_nslast_predicted_display_period {std::nullopt}
 
std::array< vr::TrackedDevicePose_t, vr::k_unMaxTrackedDeviceCount > last_render_poses {}
 
std::array< vr::TrackedDevicePose_t, vr::k_unMaxTrackedDeviceCount > last_game_poses {}
 
vr::ETrackingUniverseOrigin current_tracking_universe {vr::ETrackingUniverseOrigin::TrackingUniverseSeated}
 

Member Function Documentation

◆ Submit()

vr::EVRCompositorError xrt::state_trackers::openvr::Compositor::Submit ( openvr_logger logger,
vr::EVREye  eye,
const vr::Texture_t &  texture,
const vr::VRTextureBounds_t &  bounds,
vr::EVRSubmitFlags  nSubmitFlags 
)

Submits a texture for an eye, completing the frame if both eyes have been submit.

◆ WaitBeginFrame()

vr::EVRCompositorError xrt::state_trackers::openvr::Compositor::WaitBeginFrame ( openvr_logger logger)

Waits for the next frame and begins it, cancelling/releasing any previously active frame and it's resources, if it exists.

References OPENVR_LOG_ERROR_XRET, xrt::state_trackers::openvr::xret_to_compositor_error(), and XRT_SUCCESS.


The documentation for this struct was generated from the following files: