|
Monado OpenXR Runtime
|

Files | |
| file | u_distortion.c |
| Code to handle distortion parameters and fov. | |
| file | u_distortion.h |
| Code to handle distortion parameters and fov. | |
| file | u_distortion_mesh.c |
| Code to generate disortion meshes. | |
| file | u_distortion_mesh.h |
| Code to generate disortion meshes. | |
Data Structures | |
| struct | u_cardboard_distortion_arguments |
| These are the values that you need to supply to the distortion code to setup a u_cardboard_distortion properly. More... | |
| struct | u_cardboard_distortion_values |
| Values to create a distortion mesh from cardboard values. More... | |
| struct | u_cardboard_distortion |
| Both given and derived values needed for cardboard distortion. More... | |
| struct | u_panotools_values |
| Values to create a distortion mesh from panotools values. More... | |
| struct | u_vive_values |
| Values to create a distortion mesh from Vive configuration values. More... | |
Functions | |
| void | u_distortion_cardboard_calculate (const struct u_cardboard_distortion_arguments *args, struct xrt_hmd_parts *parts, struct u_cardboard_distortion *out_dist) |
| Take cardboard arguments to turn them into a u_cardboard_distortion and fill out a xrt_hmd_parts struct. | |
| void | u_compute_distortion_panotools (struct u_panotools_values *values, float u, float v, struct xrt_uv_triplet *result) |
| Distortion correction implementation for Panotools distortion values. | |
| void | u_compute_distortion_vive (struct u_vive_values *values, float u, float v, struct xrt_uv_triplet *result) |
| Distortion correction implementation for the Vive, Vive Pro, Valve Index distortion values found in the HMD configuration. | |
| void | u_compute_distortion_cardboard (struct u_cardboard_distortion_values *values, float u, float v, struct xrt_uv_triplet *result) |
| Distortion correction implementation for the Cardboard devices. | |
| void | u_compute_distortion_ns_p2d (struct u_ns_p2d_values *values, int view, float u, float v, struct xrt_uv_triplet *result) |
| Distortion correction implementation for North Star 2D/Polynomial. | |
| void | u_compute_distortion_ns_meshgrid (struct u_ns_meshgrid_values *values, int view, float u, float v, struct xrt_uv_triplet *result) |
| Moshi Turner's North Star distortion correction implementation. | |
| xrt_result_t | u_distortion_mesh_none (struct xrt_device *xdev, uint32_t view, float u, float v, struct xrt_uv_triplet *result) |
| Helper function for none distortion devices. | |
| void | u_distortion_mesh_fill_in_compute (struct xrt_device *xdev) |
Given a xrt_device generates meshes by calling xdev->compute_distortion(), populates xdev->hmd_parts.distortion.mesh & xdev->hmd_parts.distortion.models. | |
| void | u_distortion_mesh_fill_in_none (struct xrt_device *xdev) |
Given a xrt_device generates a no distortion mesh, populates xdev->hmd_parts.distortion.mesh & xdev->hmd_parts.distortion.models. | |
| void | u_distortion_mesh_set_none (struct xrt_device *xdev) |
Given a xrt_device generates a no distortion mesh, also sets xdev->compute_distortion() and populates xdev->hmd_parts.distortion.mesh & xdev->hmd_parts.distortion.models. | |
| void | u_distortion_mesh_fill_in_compute (struct xrt_device *xdev) |
Given a xrt_device generates meshes by calling xdev->compute_distortion(), populates xdev->hmd_parts.distortion.mesh & xdev->hmd_parts.distortion.models. | |
| void | u_distortion_mesh_fill_in_none (struct xrt_device *xdev) |
Given a xrt_device generates a no distortion mesh, populates xdev->hmd_parts.distortion.mesh & xdev->hmd_parts.distortion.models. | |
| void | u_distortion_mesh_set_none (struct xrt_device *xdev) |
Given a xrt_device generates a no distortion mesh, also sets xdev->compute_distortion() and populates xdev->hmd_parts.distortion.mesh & xdev->hmd_parts.distortion.models. | |
| void u_compute_distortion_cardboard | ( | struct u_cardboard_distortion_values * | values, |
| float | u, | ||
| float | v, | ||
| struct xrt_uv_triplet * | result | ||
| ) |
#include <auxiliary/util/u_distortion_mesh.h>
Distortion correction implementation for the Cardboard devices.
References u_cardboard_distortion_values::distortion_k, u_cardboard_distortion_values::offset, and u_cardboard_distortion_values::size.
| void u_compute_distortion_ns_meshgrid | ( | struct u_ns_meshgrid_values * | values, |
| int | view, | ||
| float | u, | ||
| float | v, | ||
| struct xrt_uv_triplet * | result | ||
| ) |
#include <auxiliary/util/u_distortion_mesh.h>
Moshi Turner's North Star distortion correction implementation.
References math_map_ranges().
| void u_compute_distortion_ns_p2d | ( | struct u_ns_p2d_values * | values, |
| int | view, | ||
| float | u, | ||
| float | v, | ||
| struct xrt_uv_triplet * | result | ||
| ) |
#include <auxiliary/util/u_distortion_mesh.h>
Distortion correction implementation for North Star 2D/Polynomial.
References math_map_ranges().
| void u_compute_distortion_panotools | ( | struct u_panotools_values * | values, |
| float | u, | ||
| float | v, | ||
| struct xrt_uv_triplet * | result | ||
| ) |
#include <auxiliary/util/u_distortion_mesh.h>
Distortion correction implementation for Panotools distortion values.
References u_panotools_values::aberration_k, u_panotools_values::distortion_k, u_panotools_values::lens_center, u_panotools_values::scale, and u_panotools_values::viewport_size.
| void u_compute_distortion_vive | ( | struct u_vive_values * | values, |
| float | u, | ||
| float | v, | ||
| struct xrt_uv_triplet * | result | ||
| ) |
#include <auxiliary/util/u_distortion_mesh.h>
Distortion correction implementation for the Vive, Vive Pro, Valve Index distortion values found in the HMD configuration.
References u_vive_values::center, and u_vive_values::coefficients.
| void u_distortion_cardboard_calculate | ( | const struct u_cardboard_distortion_arguments * | args, |
| struct xrt_hmd_parts * | parts, | ||
| struct u_cardboard_distortion * | out_dist | ||
| ) |
#include <auxiliary/util/u_distortion.h>
Take cardboard arguments to turn them into a u_cardboard_distortion and fill out a xrt_hmd_parts struct.
References u_cardboard_distortion::args, xrt_hmd_parts::blend_modes, xrt_view::display, xrt_hmd_parts::distortion, u_cardboard_distortion_values::distortion_k, u_cardboard_distortion_arguments::fov, xrt_hmd_parts::fov, u_cardboard_distortion_arguments::inter_lens_distance_meters, u_cardboard_distortion_values::offset, xrt_view::rot, u_cardboard_distortion_arguments::screen_to_lens_distance_meters, xrt_hmd_parts::screens, u_cardboard_distortion_values::size, u_cardboard_distortion::values, xrt_view::viewport, and xrt_hmd_parts::views.
| void u_distortion_mesh_fill_in_compute | ( | struct xrt_device * | xdev | ) |
#include <auxiliary/util/u_distortion_mesh.h>
Given a xrt_device generates meshes by calling xdev->compute_distortion(), populates xdev->hmd_parts.distortion.mesh & xdev->hmd_parts.distortion.models.
Referenced by blubur_s1_hmd_create(), ns_hmd_create(), psvr2_hmd_create(), svr_hmd_create(), and wmr_hmd_create().
|
related |
Given a xrt_device generates meshes by calling xdev->compute_distortion(), populates xdev->hmd_parts.distortion.mesh & xdev->hmd_parts.distortion.models.
References xrt_device::compute_distortion, xrt_device::hmd, and u_distortion_mesh_fill_in_none().
| void u_distortion_mesh_fill_in_none | ( | struct xrt_device * | xdev | ) |
#include <auxiliary/util/u_distortion_mesh.h>
Given a xrt_device generates a no distortion mesh, populates xdev->hmd_parts.distortion.mesh & xdev->hmd_parts.distortion.models.
Referenced by xrt_device::u_distortion_mesh_fill_in_compute(), and xrt_device::u_distortion_mesh_set_none().
|
related |
Given a xrt_device generates a no distortion mesh, populates xdev->hmd_parts.distortion.mesh & xdev->hmd_parts.distortion.models.
References xrt_hmd_parts::distortion, xrt_device::hmd, xrt_hmd_parts::models, xrt_hmd_parts::preferred, and u_distortion_mesh_none().
| xrt_result_t u_distortion_mesh_none | ( | struct xrt_device * | xdev, |
| uint32_t | view, | ||
| float | u, | ||
| float | v, | ||
| struct xrt_uv_triplet * | result | ||
| ) |
#include <auxiliary/util/u_distortion_mesh.h>
Helper function for none distortion devices.
References XRT_SUCCESS.
Referenced by xrt_device::u_distortion_mesh_fill_in_none(), xrt_device::u_distortion_mesh_set_none(), and xreal_air_hmd_create_device().
| void u_distortion_mesh_set_none | ( | struct xrt_device * | xdev | ) |
#include <auxiliary/util/u_distortion_mesh.h>
Given a xrt_device generates a no distortion mesh, also sets xdev->compute_distortion() and populates xdev->hmd_parts.distortion.mesh & xdev->hmd_parts.distortion.models.
Referenced by create_hmd(), illixr_hmd_create(), qwerty_hmd::qwerty_hmd_create(), sample_hmd_create(), sdl_device_init(), simulated_hmd_create(), svr_hmd_create(), and xreal_air_hmd_create_device().
|
related |
Given a xrt_device generates a no distortion mesh, also sets xdev->compute_distortion() and populates xdev->hmd_parts.distortion.mesh & xdev->hmd_parts.distortion.models.
References xrt_device::compute_distortion, xrt_hmd_parts::distortion, xrt_device::hmd, xrt_hmd_parts::models, u_distortion_mesh_fill_in_none(), and u_distortion_mesh_none().