Monado OpenXR Runtime
|
#include <north_star/distortion/deformation_northstar.h>
Public Member Functions | |
OpticalSystem () | |
OpticalSystem (const OpticalSystem &_in) | |
void | LoadOpticalData (struct ns_eye *eye) |
Vector3 | GetEyePosition () |
Vector2 | RenderUVToDisplayUV (Vector3 inputUV) |
Vector2 | RenderUVToDisplayUV (Vector2 inputUV) |
Vector2 | SolveDisplayUVToRenderUV (Vector2 inputUV, Vector2 initailGuess, int iterations) |
Vector2 | DisplayUVToRenderUVPreviousSeed (Vector2 inputUV) |
void | RegenerateMesh () |
void | UpdateEyePosition (const Vector3 pos) |
const Vector4 | GetCameraProjection () |
void | setiters (int init, int opt) |
void | UpdateClipToWorld (Matrix4x4 eyeRotationMatrix) |
void | ViewportPointToRayDirection (Vector2 UV, Vector3 cameraPosition, Matrix4x4 clipToWorld, Vector3 &out) |
Data Fields | |
Vector3 | eyePosition |
|
inline |
References LoadOpticalData().
Referenced by ns_create_optical_system().
OpticalSystem::OpticalSystem | ( | const OpticalSystem & | _in | ) |
References eyePosition.
References SolveDisplayUVToRenderUV(), Vector2::x, and Vector2::y.
Referenced by GetEyePosition(), and ns_display_uv_to_render_uv().
|
inline |
|
inline |
void OpticalSystem::LoadOpticalData | ( | struct ns_eye * | eye | ) |
References ns_eye::camera_projection, ns_eye::ellipse_major_axis, ns_eye::ellipse_minor_axis, ns_eye::eye_pose, eyePosition, Matrix4x4::Identity(), Matrix4x4::Inverse(), Matrix4x4::m00, Matrix4x4::m01, Matrix4x4::m02, Matrix4x4::m03, Matrix4x4::m10, Matrix4x4::m11, Matrix4x4::m12, Matrix4x4::m13, Matrix4x4::m20, Matrix4x4::m21, Matrix4x4::m22, Matrix4x4::m23, Matrix4x4::m30, Matrix4x4::m31, Matrix4x4::m32, Matrix4x4::m33, xrt_pose::position, ns_eye::screen_forward, ns_eye::screen_position, ns_eye::sphere_to_world_space, UpdateClipToWorld(), xrt_matrix_4x4::v, xrt_quat::w, Vector4::w, ns_eye::world_to_screen_space, xrt_quat::x, xrt_vec3::x, Vector3::x, Vector4::x, xrt_quat::y, xrt_vec3::y, Vector3::y, Vector4::y, xrt_quat::z, xrt_vec3::z, Vector3::z, and Vector4::z.
Referenced by ns_create_optical_system(), and OpticalSystem().
void OpticalSystem::RegenerateMesh | ( | ) |
References SolveDisplayUVToRenderUV(), Vector2::x, and Vector2::y.
Referenced by GetEyePosition(), and ns_create_optical_system().
References eyePosition, Ray::GetPoint(), intersectLineSphere(), intersectPlane(), Ray::m_Direction, Ray::m_Origin, Vector3::Magnitude(), Matrix4x4::MultiplyPoint(), Matrix4x4::MultiplyPoint3x4(), Matrix4x4::MultiplyVector(), Vector3::Reflect(), Vector3::x, Vector2::x, Vector3::y, Vector2::y, Vector3::Zero(), and Vector2::zero().
Referenced by GetEyePosition(), RenderUVToDisplayUV(), and SolveDisplayUVToRenderUV().
References eyePosition, RenderUVToDisplayUV(), and ViewportPointToRayDirection().
|
inline |
Referenced by ns_create_optical_system().
Vector2 OpticalSystem::SolveDisplayUVToRenderUV | ( | Vector2 | inputUV, |
Vector2 | initailGuess, | ||
int | iterations | ||
) |
References RenderUVToDisplayUV(), Vector2::x, Vector2::y, and Vector2::zero().
Referenced by DisplayUVToRenderUVPreviousSeed(), GetEyePosition(), and RegenerateMesh().
|
inline |
References Vector4::ComposeProjection(), eyePosition, Matrix4x4::Inverse(), Matrix4x4::m02, Matrix4x4::m12, Matrix4x4::m22, and Matrix4x4::Translate().
Referenced by LoadOpticalData().
|
inline |
References eyePosition, Vector3::x, Vector3::y, and Vector3::z.
|
inline |
References Vector3::Magnitude(), Matrix4x4::MultiplyPoint(), Vector3::x, Vector2::x, Vector3::y, Vector2::y, and Vector3::z.
Referenced by RenderUVToDisplayUV().
Vector3 OpticalSystem::eyePosition |
Referenced by GetEyePosition(), LoadOpticalData(), OpticalSystem(), RenderUVToDisplayUV(), UpdateClipToWorld(), and UpdateEyePosition().