71 float aspect_x_over_y;
72 float grow_for_undistort;
74 float undistort_r2_cutoff;
119 float x_coefficients_left[16];
120 float x_coefficients_right[16];
121 float y_coefficients_left[16];
122 float y_coefficients_right[16];
144 int num_grid_points_u;
145 int num_grid_points_v;
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.
Definition: u_distortion_mesh.c:294
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....
Definition: u_distortion_mesh.c:436
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 t...
Definition: u_distortion_mesh.c:128
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....
Definition: u_distortion_mesh.c:474
bool u_compute_distortion_none(float u, float v, struct xrt_uv_triplet *result)
Identity distortion correction sets all result coordinates to u,v.
Definition: u_distortion_mesh.c:410
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.
Definition: u_distortion_mesh.c:334
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.
Definition: u_distortion_mesh.c:199
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.
Definition: u_distortion_mesh.c:237
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.
Definition: u_distortion_mesh.c:430
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...
Definition: u_distortion_mesh.c:450
Values to create a distortion mesh from cardboard values.
Definition: u_distortion.h:70
Definition: u_distortion_mesh.h:141
Definition: u_distortion_mesh.h:118
Values to create a distortion mesh from Vive configuration values.
Definition: u_distortion_mesh.h:70
float coefficients[3][4]
r/g/b, a/b/c/d
Definition: u_distortion_mesh.h:80
struct xrt_vec2 center[3]
r/g/b
Definition: u_distortion_mesh.h:77
A single HMD or input device.
Definition: xrt_device.h:241
Describes a projection matrix fov.
Definition: xrt_defines.h:486
Represents a uv triplet for distortion, basically just three xrt_vec2.
Definition: xrt_defines.h:261
A 2 element vector with single floats.
Definition: xrt_defines.h:250
Code to handle distortion parameters and fov.
Common defines and enums for XRT.
Header defining an xrt display or controller device.