Computes a new eye coordinate for the camera that should have the given point within view. The eye is only modified with respect to its distance to the camera's center (on the camera look-at ray).
Camera as base constraint for the eye movement (only distance to center is changed).
Point to adjust the camera position for.
Evaluates whether or not a given point is within the NDC-space (normalized device coordinates) after being transformed by a view projection matrix.
(Model) view projection matrix to transform the point with.
Point that is to be transformed
True if the point should be visible (within NDC), false otherwise.
Evaluates whether or not a given point is within a square of a given edge length.
Point to check the within-square-status for.
Half of the side length of the square.
Computes the intersection point of a ray starting at a given point and pointing to the center of an axis-aligned square of a given side length.
Starting point used to derive a ray for intersection.
Side length of the square.
Computes the intersection point of a given ray and a circle at [0.0, 0.0] and a given radius.
Start point of a ray.
Far point of a ray, used to derive the ray's direction.
Radius of the circle to test for intersection with.
The intersection point of the given ray and a circle, undefined if no intersection exists.
Computes the intersection of a ray with a line.
Start point of a ray.
Far point of a ray, used to derive the ray direction.
Start point of a line.
End point of a line.
Computes the intersection point of a given ray and a given plane (rooted at [ 0, 0, 0 ]). t = -(dot(plane.xyz, origin) + plane.w) / dot(plane.xyz, ray); The ray intersects when (t > 0.0) && (t < tm) is true.
Start point of a ray.
Far point of a ray, used to derive the ray direction.
Point on a plane with origin [ 0, 0, 0 ].
Normal of the plane with origin [ 0, 0, 0 ].
Computes the intersection point of a given ray and a given plane (origin [ 0, 0, 0 ]). The intersection point, however, is constrained to a tube of a given radius. The computation is currently limited to a tube on the plane y = 0 with origin in [0.0, 0.0, 0.0], extending towards [0.0, 1.0, 0.0].
Start point of a ray.
Far point of a ray, used to derive the ray direction.
Constrain intersection point to be within a tube of this radius.
Computes the intersection point of a given ray and a given sphere. t = -(dot(plane.xyz, origin) + plane.w) / dot(plane.xyz, ray); The ray intersects when (t > 0.0) && (t < tm) is true.
Start point of a ray.
Far point of a ray, used to derive the ray direction.
Location of the sphere.
Radius of the sphere.
Computes the intersection of a ray with an axis-aligned square at [0.0, 0.0] with side length of 2 * halfLength.
Start point of a ray.
Far point of a ray, used to derive the ray's direction.
Computes the shortest distance of a point to a ray (closest point on ray distance).