|
Monado OpenXR Runtime
|
All of the device components that deals with interfacing to a users head. More...
#include <xrt/xrt_device.h>

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. | ||
| struct xrt_view | views [XRT_MAX_VIEWS] | |
| Display information. | ||
| size_t | view_count | |
| enum xrt_blend_mode | blend_modes [XRT_MAX_DEVICE_BLEND_MODES] | |
| Array of supported blend modes. | ||
| 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. | ||
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.
| enum xrt_blend_mode xrt_hmd_parts::blend_modes[XRT_MAX_DEVICE_BLEND_MODES] |
Array of supported blend modes.
Referenced by blubur_s1_hmd_create(), xrt_system_compositor::comp_main_create_system_compositor(), create_hmd(), illixr_hmd_create(), ns_hmd_create(), psvr2_hmd_create(), sample_hmd_create(), sdl_device_init(), svr_hmd_create(), u_device_setup_one_eye(), u_device_setup_split_side_by_side(), u_distortion_cardboard_calculate(), and wmr_hmd_create().
| struct { ... } xrt_hmd_parts::distortion |
Distortion information.
Referenced by blubur_s1_hmd_create(), calc_pose_data(), create_hmd(), illixr_hmd_create(), ns_hmd_create(), psvr2_hmd_create(), render_resources::render_resources_init(), sample_hmd_create(), svr_hmd_create(), u_device_dump_config(), u_device_free(), u_device_get_view_poses(), u_device_get_visibility_mask(), u_device_setup_one_eye(), u_device_setup_split_side_by_side(), u_distortion_cardboard_calculate(), xrt_device::u_distortion_mesh_fill_in_none(), xrt_device::u_distortion_mesh_set_none(), and wmr_hmd_create().
| struct xrt_fov xrt_hmd_parts::fov[XRT_MAX_VIEWS] |
distortion is subject to the field of view
Referenced by calc_pose_data(), create_hmd(), ns_hmd_create(), sample_hmd_create(), svr_hmd_create(), u_device_dump_config(), u_device_get_view_poses(), u_device_get_visibility_mask(), u_device_setup_one_eye(), u_device_setup_split_side_by_side(), u_distortion_cardboard_calculate(), and wmr_hmd_create().
| uint32_t xrt_hmd_parts::index_count_total |
Total number of elements in mesh::indices array.
Referenced by render_resources::render_resources_init().
| uint32_t xrt_hmd_parts::index_counts[XRT_MAX_VIEWS] |
Number of indices for the triangle strips (one per view).
Referenced by render_resources::render_resources_init().
| uint32_t xrt_hmd_parts::index_offsets[XRT_MAX_VIEWS] |
Offsets for the indices (one offset per view).
Referenced by render_resources::render_resources_init().
| int* xrt_hmd_parts::indices |
Indices, for triangle strip.
Referenced by render_resources::render_resources_init(), and u_device_free().
| enum xrt_distortion_model xrt_hmd_parts::models |
Supported distortion models, a bitfield.
Referenced by blubur_s1_hmd_create(), create_hmd(), ns_hmd_create(), psvr2_hmd_create(), svr_hmd_create(), u_device_setup_one_eye(), u_device_setup_split_side_by_side(), xrt_device::u_distortion_mesh_fill_in_none(), xrt_device::u_distortion_mesh_set_none(), and wmr_hmd_create().
| uint64_t xrt_hmd_parts::nominal_frame_interval_ns |
Nominal frame interval.
Referenced by blubur_s1_hmd_create(), CDeviceDriver_Monado::CDeviceDriver_Monado(), comp_settings_init(), create_hmd(), psvr2_hmd_create(), sample_hmd_create(), sdl_device_init(), svr_hmd_create(), and xreal_air_hmd_create_device().
| enum xrt_distortion_model xrt_hmd_parts::preferred |
Preferred disortion model, single value.
Referenced by blubur_s1_hmd_create(), create_hmd(), illixr_hmd_create(), ns_hmd_create(), psvr2_hmd_create(), svr_hmd_create(), u_device_setup_one_eye(), u_device_setup_split_side_by_side(), xrt_device::u_distortion_mesh_fill_in_none(), and wmr_hmd_create().
| 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 blubur_s1_hmd_create(), CDeviceDriver_Monado::CDeviceDriver_Monado(), comp_settings_init(), create_hmd(), psvr2_hmd_create(), sample_hmd_create(), sdl_device_init(), svr_hmd_create(), u_device_dump_config(), u_device_setup_one_eye(), u_device_setup_split_side_by_side(), u_distortion_cardboard_calculate(), u_extents_2d_split_side_by_side(), and xreal_air_hmd_create_device().
| uint32_t xrt_hmd_parts::stride |
Stride of vertices.
Referenced by render_resources::render_resources_init().
| uint32_t xrt_hmd_parts::uv_channels_count |
1 or 3 for (chromatic aberration).
| uint32_t xrt_hmd_parts::vertex_count |
Number of vertices.
Referenced by render_resources::render_resources_init().
| float* xrt_hmd_parts::vertices |
Data.
Referenced by render_resources::render_resources_init(), and u_device_free().
| struct xrt_view xrt_hmd_parts::views[XRT_MAX_VIEWS] |
Display information.
For now hardcoded display to two.
Referenced by blubur_s1_hmd_create(), xrt_system_compositor::comp_main_create_system_compositor(), CDeviceDriver_Monado::ComputeDistortion(), create_hmd(), sample_hmd_create(), u_device_dump_config(), u_device_get_view_poses(), u_device_setup_one_eye(), u_device_setup_split_side_by_side(), u_distortion_cardboard_calculate(), and u_extents_2d_split_side_by_side().