Package org.joml
Class FrustumRayBuilder
java.lang.Object
org.joml.FrustumRayBuilder
Provides methods to compute rays through an arbitrary perspective transformation defined by a
Matrix4fc.
This can be used to compute the eye-rays in simple software-based raycasting/raytracing.
To obtain the origin of the rays call origin(Vector3f).
Then to compute the directions of subsequent rays use dir(float, float, Vector3f).
- Author:
- Kai Burjack
-
Constructor Summary
ConstructorsConstructorDescriptionCreate a newFrustumRayBuilderwith an undefined frustum.Create a newFrustumRayBuilderfrom the givenmatrixby extracing the matrix's frustum. -
Method Summary
Modifier and TypeMethodDescriptionObtain the normalized direction of a ray starting at the center of the coordinate system and going through the near frustum plane.Store the eye/origin of the perspective frustum in the givenorigin.
-
Constructor Details
-
FrustumRayBuilder
public FrustumRayBuilder()Create a newFrustumRayBuilderwith an undefined frustum.Before obtaining ray directions, make sure to define the frustum using
set(Matrix4fc). -
FrustumRayBuilder
Create a newFrustumRayBuilderfrom the givenmatrixby extracing the matrix's frustum.- Parameters:
m- theMatrix4fcto create the frustum from
-
-
Method Details
-
set
Update the stored frustum corner rays and origin ofthisFrustumRayBuilderwith the givenmatrix.Reference: Fast Extraction of Viewing Frustum Planes from the World-View-Projection Matrix
Reference: http://geomalgorithms.com
- Parameters:
m- thematrixto update the frustum corner rays and origin with- Returns:
- this
-
origin
Store the eye/origin of the perspective frustum in the givenorigin.- Parameters:
origin- will hold the perspective origin- Returns:
- the
originvector
-
dir
Obtain the normalized direction of a ray starting at the center of the coordinate system and going through the near frustum plane.The parameters
xandyare used to interpolate the generated ray direction from the bottom-left to the top-right frustum corners.- Parameters:
x- the interpolation factor along the left-to-right frustum planes, within[0..1]y- the interpolation factor along the bottom-to-top frustum planes, within[0..1]dir- will hold the normalized ray direction- Returns:
- the
dirvector
-