Monado OpenXR Runtime
Data Fields
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:
Collaboration graph
[legend]

Data Fields

struct {
   int   w_pixels
 
   int   h_pixels
 
   uint64_t   nominal_frame_interval_ns
 Nominal frame interval. More...
 
screens [1]
 The hmd screen, right now hardcoded to one. More...
 
struct xrt_view views [2]
 Display information. More...
 
enum xrt_blend_mode blend_mode
 Supported blend modes, a bitfield. More...
 
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   distortion_k [4]
 Panotools universal distortion k. More...
 
      float   aberration_k [4]
 Panotools post distortion scale, <r, g, b, _>. More...
 
      float   warp_scale
 Panotools warp scale. More...
 
   }   pano
 
   struct {
      float   aspect_x_over_y
 
      float   grow_for_undistort
 
      float   undistort_r2_cutoff [2]
 Left/right. More...
 
      float   center [2][2]
 Left/right, x/y. More...
 
      float   coefficients [2][3][3]
 left/right, r/g/b, a/b/c More...
 
   }   vive
 
   struct {
      float *   vertices
 Data. More...
 
      size_t   num_vertices
 Number of vertices. More...
 
      size_t   stride
 Stride of vertices. More...
 
      size_t   num_uv_channels
 1 or 3 for (chromatic aberration). More...
 
      int *   indices
 Indices, for triangle strip. More...
 
      size_t   num_indices [2]
 Number of indices for the triangle strip. More...
 
      size_t   offset_indices [2]
 Offsets for the indices. More...
 
      size_t   total_num_indices
 Total number of indices. More...
 
   }   mesh
 
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

◆ aberration_k

float xrt_hmd_parts::aberration_k[4]

Panotools post distortion scale, <r, g, b, _>.

◆ aspect_x_over_y

float xrt_hmd_parts::aspect_x_over_y

◆ blend_mode

enum xrt_blend_mode xrt_hmd_parts::blend_mode

Supported blend modes, a bitfield.

Referenced by hdk_device_create(), u_device_setup_split_side_by_side(), and vive_device_create().

◆ center

float xrt_hmd_parts::center[2][2]

Left/right, x/y.

◆ coefficients

float xrt_hmd_parts::coefficients[2][3][3]

left/right, r/g/b, a/b/c

◆ distortion

struct { ... } xrt_hmd_parts::distortion

◆ distortion_k

float xrt_hmd_parts::distortion_k[4]

Panotools universal distortion k.

◆ grow_for_undistort

float xrt_hmd_parts::grow_for_undistort

◆ h_pixels

int xrt_hmd_parts::h_pixels

◆ indices

int* xrt_hmd_parts::indices

Indices, for triangle strip.

◆ mesh

struct { ... } xrt_hmd_parts::mesh

◆ models

enum xrt_distortion_model xrt_hmd_parts::models

Supported distortion models, a bitfield.

Referenced by u_device_setup_split_side_by_side().

◆ nominal_frame_interval_ns

uint64_t xrt_hmd_parts::nominal_frame_interval_ns

Nominal frame interval.

◆ num_indices

size_t xrt_hmd_parts::num_indices[2]

Number of indices for the triangle strip.

◆ num_uv_channels

size_t xrt_hmd_parts::num_uv_channels

1 or 3 for (chromatic aberration).

◆ num_vertices

size_t xrt_hmd_parts::num_vertices

Number of vertices.

◆ offset_indices

size_t xrt_hmd_parts::offset_indices[2]

Offsets for the indices.

◆ pano

struct { ... } xrt_hmd_parts::pano

◆ preferred

enum xrt_distortion_model xrt_hmd_parts::preferred

Preferred disortion model, single value.

Referenced by u_device_setup_split_side_by_side().

◆ screens

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

The hmd screen, right now hardcoded to one.

Referenced by u_device_dump_config(), and u_device_setup_split_side_by_side().

◆ stride

size_t xrt_hmd_parts::stride

Stride of vertices.

◆ total_num_indices

size_t xrt_hmd_parts::total_num_indices

Total number of indices.

◆ undistort_r2_cutoff

float xrt_hmd_parts::undistort_r2_cutoff[2]

Left/right.

◆ vertices

float* xrt_hmd_parts::vertices

Data.

◆ views

struct xrt_view xrt_hmd_parts::views[2]

Display information.

For now hardcoded display to two.

Referenced by u_device_dump_config(), and u_device_setup_split_side_by_side().

◆ vive

struct { ... } xrt_hmd_parts::vive

Referenced by vive_init_defaults().

◆ w_pixels

int xrt_hmd_parts::w_pixels

◆ warp_scale

float xrt_hmd_parts::warp_scale

Panotools warp scale.


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