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. More... | |
bool | 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. More... | |
bool | 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. More... | |
bool | 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. More... | |
bool | 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. More... | |
bool | 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. More... | |
bool | u_compute_distortion_none (float u, float v, struct xrt_uv_triplet *result) |
Identity distortion correction sets all result coordinates to u,v. More... | |
bool | 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. More... | |
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 . More... | |
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 . More... | |
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 . More... | |
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 . More... | |
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 . More... | |
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 . More... | |
bool 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.
bool u_compute_distortion_none | ( | float | u, |
float | v, | ||
struct xrt_uv_triplet * | result | ||
) |
#include <auxiliary/util/u_distortion_mesh.h>
Identity distortion correction sets all result coordinates to u,v.
Referenced by u_distortion_mesh_none().
bool 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.
bool 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.
bool 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.
bool 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.
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 xrt_hmd_parts::blend_modes.
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
.
|
related |
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 | ) |
#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
.
|
related |
Given a xrt_device generates a no distortion mesh, populates xdev->hmd_parts.distortion.mesh
& xdev->hmd_parts.distortion.models
.
References xrt_device::hmd.
bool 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 u_compute_distortion_none().
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
.
|
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_hmd_parts::distortion, xrt_device::hmd, and xrt_hmd_parts::models.