Monado OpenXR Runtime
xrt_hmd_parts Struct Reference

All of the device components that deals with interfacing to a users head. More...

#include <xrt/xrt_device.h>

Collaboration diagram for xrt_hmd_parts:

Data Fields

struct {
   int   w_pixels
 
   int   h_pixels
 
   uint64_t   nominal_frame_interval_ns
 Nominal frame interval. More...
 
screens [1]
 The hmd screen as an unrotated display, like the HMD presents it to the OS. More...
 
struct xrt_view views [XRT_MAX_VIEWS]
 Display information. More...
 
size_t view_count
 
enum xrt_blend_mode blend_modes [XRT_MAX_DEVICE_BLEND_MODES]
 Array of supported blend modes. More...
 
size_t blend_mode_count
 
struct {
   enum xrt_distortion_model   models
 Supported distortion models, a bitfield. More...
 
   enum xrt_distortion_model   preferred
 Preferred disortion model, single value. More...
 
   struct {
      float *   vertices
 Data. More...
 
      uint32_t   vertex_count
 Number of vertices. More...
 
      uint32_t   stride
 Stride of vertices. More...
 
      uint32_t   uv_channels_count
 1 or 3 for (chromatic aberration). More...
 
      int *   indices
 Indices, for triangle strip. More...
 
      uint32_t   index_counts [XRT_MAX_VIEWS]
 Number of indices for the triangle strips (one per view). More...
 
      uint32_t   index_offsets [XRT_MAX_VIEWS]
 Offsets for the indices (one offset per view). More...
 
      uint32_t   index_count_total
 Total number of elements in mesh::indices array. More...
 
   }   mesh
 
   struct xrt_fov   fov [XRT_MAX_VIEWS]
 distortion is subject to the field of view More...
 
distortion
 Distortion information. More...
 

Detailed Description

All of the device components that deals with interfacing to a users head.

HMD is probably a bad name for the future but for now will have to do.

Field Documentation

◆ blend_modes

enum xrt_blend_mode xrt_hmd_parts::blend_modes[XRT_MAX_DEVICE_BLEND_MODES]

◆ 

struct { ... } xrt_hmd_parts::distortion

◆ fov

struct xrt_fov xrt_hmd_parts::fov[XRT_MAX_VIEWS]

distortion is subject to the field of view

Referenced by u_device_get_view_poses().

◆ index_count_total

uint32_t xrt_hmd_parts::index_count_total

Total number of elements in mesh::indices array.

◆ index_counts

uint32_t xrt_hmd_parts::index_counts[XRT_MAX_VIEWS]

Number of indices for the triangle strips (one per view).

◆ index_offsets

uint32_t xrt_hmd_parts::index_offsets[XRT_MAX_VIEWS]

Offsets for the indices (one offset per view).

◆ indices

int* xrt_hmd_parts::indices

Indices, for triangle strip.

◆ models

enum xrt_distortion_model xrt_hmd_parts::models

Supported distortion models, a bitfield.

Referenced by xrt_device::u_distortion_mesh_set_none().

◆ nominal_frame_interval_ns

uint64_t xrt_hmd_parts::nominal_frame_interval_ns

Nominal frame interval.

Referenced by CDeviceDriver_Monado::CDeviceDriver_Monado(), and comp_settings_init().

◆ preferred

enum xrt_distortion_model xrt_hmd_parts::preferred

Preferred disortion model, single value.

◆ 

struct { ... } xrt_hmd_parts::screens[1]

The hmd screen as an unrotated display, like the HMD presents it to the OS.

This field is used by Compositor to setup the extended mode window.

Referenced by CDeviceDriver_Monado::CDeviceDriver_Monado(), comp_settings_init(), and u_extents_2d_split_side_by_side().

◆ stride

uint32_t xrt_hmd_parts::stride

Stride of vertices.

◆ uv_channels_count

uint32_t xrt_hmd_parts::uv_channels_count

1 or 3 for (chromatic aberration).

◆ vertex_count

uint32_t xrt_hmd_parts::vertex_count

Number of vertices.

◆ vertices

float* xrt_hmd_parts::vertices

Data.

◆ views

struct xrt_view xrt_hmd_parts::views[XRT_MAX_VIEWS]

Display information.

For now hardcoded display to two.

Referenced by CDeviceDriver_Monado::ComputeDistortion(), u_device_get_view_poses(), and u_extents_2d_split_side_by_side().


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