Monado OpenXR Runtime
CDeviceDriver_Monado Class Reference
Inheritance diagram for CDeviceDriver_Monado:
Collaboration diagram for CDeviceDriver_Monado:

Public Member Functions

 CDeviceDriver_Monado (struct xrt_instance *xinst, struct xrt_device *xdev)
 
virtual vr::EVRInitError Activate (vr::TrackedDeviceIndex_t unObjectId)
 
virtual void Deactivate ()
 
virtual void EnterStandby ()
 
virtual void * GetComponent (const char *pchComponentNameAndVersion)
 
virtual void DebugRequest (const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize)
 
virtual vr::DriverPose_t GetPose ()
 
virtual void GetWindowBounds (int32_t *pnX, int32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight)
 
virtual bool IsDisplayOnDesktop ()
 
virtual bool IsDisplayRealDisplay ()
 
virtual void GetRecommendedRenderTargetSize (uint32_t *pnWidth, uint32_t *pnHeight)
 
virtual void GetEyeOutputViewport (vr::EVREye eEye, uint32_t *pnX, uint32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight)
 
virtual void GetProjectionRaw (vr::EVREye eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom)
 
virtual vr::DistortionCoordinates_t ComputeDistortion (vr::EVREye eEye, float fU, float fV)
 

Constructor & Destructor Documentation

◆ CDeviceDriver_Monado()

CDeviceDriver_Monado::CDeviceDriver_Monado ( struct xrt_instance xinst,
struct xrt_device xdev 
)
inline
Todo:
latency
Todo:
get ipd user setting from monado session
Todo:
more than 2 views
Todo:
more versatile IPD calculation

References xrt_device::hmd, xrt_hmd_parts::nominal_frame_interval_ns, and xrt_hmd_parts::screens.

Member Function Documentation

◆ Activate()

vr::EVRInitError CDeviceDriver_Monado::Activate ( vr::TrackedDeviceIndex_t  unObjectId)
virtual
Todo:
: proper serial and model number
Todo:
update when ipd changes

◆ ComputeDistortion()

vr::DistortionCoordinates_t CDeviceDriver_Monado::ComputeDistortion ( vr::EVREye  eEye,
float  fU,
float  fV 
)
virtual

Used to return the post-distortion UVs for each color channel. UVs range from 0 to 1 with 0,0 in the upper left corner of the source render target. The 0,0 to 1,1 range covers a single eye.

References xrt_device::compute_distortion, xrt_device::hmd, xrt_view::rot, and xrt_hmd_parts::views.

◆ DebugRequest()

void CDeviceDriver_Monado::DebugRequest ( const char *  pchRequest,
char *  pchResponseBuffer,
uint32_t  unResponseBufferSize 
)
virtual

◆ GetPose()


The documentation for this class was generated from the following file: