Uses of Interface
org.joml.Vector3fc
Packages that use Vector3fc
-
Uses of Vector3fc in org.joml
Modifier and TypeClassDescriptionclass
Contains the definition of a Vector comprising 3 floats and associated transformations.Modifier and TypeMethodDescriptionObtain the normalized direction of a ray starting at the center of the coordinate system and going through the near frustum plane.Vector3f.getToAddress
(long address) Vector3fc.getToAddress
(long address) Store this vector at the given off-heap memory address.Store the eye/origin of the perspective frustum in the givenorigin
.Modifier and TypeMethodDescriptionAdd the supplied vector to this one.Add the supplied vector to this one and store the result indest
.Add the supplied vector to this one.Add the supplied vector to this one and store the result indest
.float
float
Return the angle between this vector and the supplied vector.float
float
Return the cosine of the angle between this vector and the supplied vector.float
Vector3f.angleSigned
(Vector3fc v, Vector3fc n) float
Vector3fc.angleSigned
(Vector3fc v, Vector3fc n) Return the signed angle between this vector and the supplied vector with respect to the plane with the given normal vectorn
.Apply an arcball view transformation to this matrix with the givenradius
andcenter
position of the arcball and the specified X and Y rotation angles.Apply an arcball view transformation to this matrix with the givenradius
andcenter
position of the arcball and the specified X and Y rotation angles, and store the result indest
.Apply an arcball view transformation to this matrix with the givenradius
andcenter
position of the arcball and the specified X and Y rotation angles.Matrix4x3f.arcball
(float radius, Vector3fc center, float angleX, float angleY, Matrix4x3f dest) Matrix4x3fc.arcball
(float radius, Vector3fc center, float angleX, float angleY, Matrix4x3f dest) Apply an arcball view transformation to this matrix with the givenradius
andcenter
position of the arcball and the specified X and Y rotation angles, and store the result indest
.Matrix4f.billboardCylindrical
(Vector3fc objPos, Vector3fc targetPos, Vector3fc up) Set this matrix to a cylindrical billboard transformation that rotates the local +Z axis of a given object with positionobjPos
towards a target position attargetPos
while constraining a cylindrical rotation around the givenup
vector.Matrix4x3f.billboardCylindrical
(Vector3fc objPos, Vector3fc targetPos, Vector3fc up) Set this matrix to a cylindrical billboard transformation that rotates the local +Z axis of a given object with positionobjPos
towards a target position attargetPos
while constraining a cylindrical rotation around the givenup
vector.Matrix4f.billboardSpherical
(Vector3fc objPos, Vector3fc targetPos) Set this matrix to a spherical billboard transformation that rotates the local +Z axis of a given object with positionobjPos
towards a target position attargetPos
using a shortest arc rotation by not preserving any up vector of the object.Matrix4f.billboardSpherical
(Vector3fc objPos, Vector3fc targetPos, Vector3fc up) Set this matrix to a spherical billboard transformation that rotates the local +Z axis of a given object with positionobjPos
towards a target position attargetPos
.Matrix4x3f.billboardSpherical
(Vector3fc objPos, Vector3fc targetPos) Set this matrix to a spherical billboard transformation that rotates the local +Z axis of a given object with positionobjPos
towards a target position attargetPos
using a shortest arc rotation by not preserving any up vector of the object.Matrix4x3f.billboardSpherical
(Vector3fc objPos, Vector3fc targetPos, Vector3fc up) Set this matrix to a spherical billboard transformation that rotates the local +Z axis of a given object with positionobjPos
towards a target position attargetPos
.static void
GeometryUtils.bitangent
(Vector3fc v1, Vector2fc uv1, Vector3fc v2, Vector2fc uv2, Vector3fc v3, Vector2fc uv3, Vector3f dest) Calculate the surface bitangent for the three supplied vertices and UV coordinates and store the result indest
.Set this vector to be the cross product of itself andv
.Compute the cross product of this vector andv
and store the result indest
.float
float
Return the distance between this Vector andv
.float
Vector3f.distanceSquared
(Vector3fc v) float
Vector3fc.distanceSquared
(Vector3fc v) Return the square of the distance between this vector andv
.Divide this Vector3d component-wise by another Vector3fc.Divide this Vector3d component-wise by another Vector3f and store the result indest
.Divide this Vector3f component-wise by another Vector3fc.Divide this Vector3f component-wise by another Vector3f and store the result indest
.float
float
Return the dot product of this vector and the supplied vector.boolean
boolean
Compare the vector components ofthis
vector with the given vector using the givendelta
and return whether all of them are equal within a maximum difference ofdelta
.static int
Intersectionf.findClosestPointOnTriangle
(Vector3fc v0, Vector3fc v1, Vector3fc v2, Vector3fc p, Vector3f result) Determine the closest point on the triangle with the verticesv0
,v1
,v2
between that triangle and the given pointp
and store that point into the givenresult
.Add the component-wise multiplication ofa * b
to this vector.Add the component-wise multiplication ofa * b
to this vector.Add the component-wise multiplication ofa * b
to this vector and store the result indest
.Add the component-wise multiplication ofa * b
to this vector and store the result indest
.Add the component-wise multiplication ofa * b
to this vector and store the result indest
.Add the component-wise multiplication ofa * b
to this vector.Add the component-wise multiplication ofa * b
to this vector.Add the component-wise multiplication ofa * b
to this vector and store the result indest
.Add the component-wise multiplication ofa * b
to this vector and store the result indest
.Quaternionf.fromAxisAngleDeg
(Vector3fc axis, float angle) Set this quaternion to be a representation of the supplied axis and angle (in degrees).Quaternionf.fromAxisAngleRad
(Vector3fc axis, float angle) Set this quaternion to be a representation of the supplied axis and angle (in radians).Compute the half vector between this and the other vector.Compute the half vector between this and the other vector and store the result indest
.Compute a hermite interpolation betweenthis
vector with its associated tangentt0
and the given vectorv
with its tangentt1
and store the result indest
.int
FrustumIntersection.intersectAab
(Vector3fc min, Vector3fc max) Determine whether the given axis-aligned box is partly or completely within or outside of the frustum defined bythis
frustum culler and, if the box is not inside this frustum, return the index of the plane that culled it.int
FrustumIntersection.intersectAab
(Vector3fc min, Vector3fc max, int mask) Determine whether the given axis-aligned box is partly or completely within or outside of the frustum defined bythis
frustum culler and, if the box is not inside this frustum, return the index of the plane that culled it.int
FrustumIntersection.intersectAab
(Vector3fc min, Vector3fc max, int mask, int startPlane) Determine whether the given axis-aligned box is partly or completely within or outside of the frustum defined bythis
frustum culler and, if the box is not inside this frustum, return the index of the plane that culled it.static int
Intersectionf.intersectLineSegmentAab
(Vector3fc p0, Vector3fc p1, Vector3fc min, Vector3fc max, Vector2f result) Determine whether the undirected line segment with the end pointsp0
andp1
intersects the axis-aligned box given as its minimum cornermin
and maximum cornermax
, and return the values of the parameter t in the ray equation p(t) = origin + p0 * (p1 - p0) of the near and far point of intersection.static boolean
Intersectionf.intersectLineSegmentTriangle
(Vector3fc p0, Vector3fc p1, Vector3fc v0, Vector3fc v1, Vector3fc v2, float epsilon, Vector3f intersectionPoint) Determine whether the line segment with the end pointsp0
andp1
intersects the triangle consisting of the three vertices(v0X, v0Y, v0Z)
,(v1X, v1Y, v1Z)
and(v2X, v2Y, v2Z)
, regardless of the winding order of the triangle or the direction of the line segment between its two end points, and return the point of intersection.static boolean
Intersectionf.intersectRayAab
(Vector3fc origin, Vector3fc dir, Vector3fc min, Vector3fc max, Vector2f result) Test whether the ray with the givenorigin
and directiondir
intersects the axis-aligned box specified as its minimum cornermin
and maximum cornermax
, and return the values of the parameter t in the ray equation p(t) = origin + t * dir of the near and far point of intersection..static float
Intersectionf.intersectRayPlane
(Vector3fc origin, Vector3fc dir, Vector3fc point, Vector3fc normal, float epsilon) Test whether the ray with givenorigin
and directiondir
intersects the plane containing the givenpoint
and having the givennormal
, and return the value of the parameter t in the ray equation p(t) = origin + t * dir of the intersection point.static boolean
Intersectionf.intersectRaySphere
(Vector3fc origin, Vector3fc dir, Vector3fc center, float radiusSquared, Vector2f result) Test whether the ray with the givenorigin
and normalized directiondir
intersects the sphere with the givencenter
and square radiusradiusSquared
, and store the values of the parameter t in the ray equation p(t) = origin + t * dir for both points (near and far) of intersections into the givenresult
vector.static float
Intersectionf.intersectRayTriangle
(Vector3fc origin, Vector3fc dir, Vector3fc v0, Vector3fc v1, Vector3fc v2, float epsilon) Determine whether the ray with the givenorigin
and the givendir
intersects the triangle consisting of the three verticesv0
,v1
andv2
and return the value of the parameter t in the ray equation p(t) = origin + t * dir of the point of intersection.static float
Intersectionf.intersectRayTriangleFront
(Vector3fc origin, Vector3fc dir, Vector3fc v0, Vector3fc v1, Vector3fc v2, float epsilon) Determine whether the ray with the givenorigin
and the givendir
intersects the frontface of the triangle consisting of the three verticesv0
,v1
andv2
and return the value of the parameter t in the ray equation p(t) = origin + t * dir of the point of intersection.int
FrustumIntersection.intersectSphere
(Vector3fc center, float radius) Determine whether the given sphere is partly or completely within or outside of the frustum defined bythis
frustum culler.static boolean
Intersectionf.intersectSphereSphere
(Vector3fc centerA, float radiusSquaredA, Vector3fc centerB, float radiusSquaredB, Vector4f centerAndRadiusOfIntersectionCircle) Test whether the one sphere with centercenterA
and square radiusradiusSquaredA
intersects the other sphere with centercenterB
and square radiusradiusSquaredB
, and store the center of the circle of intersection in the(x, y, z)
components of the supplied vector and the radius of that circle in the w component.Linearly interpolatethis
andother
using the given interpolation factort
and store the result inthis
.Linearly interpolatethis
andother
using the given interpolation factort
and store the result indest
.Apply a rotation transformation to this matrix to make-z
point alongdir
.Apply a rotation transformation to this matrix to make-z
point alongdir
and store the result indest
.Apply a rotation transformation to this matrix to make-z
point alongdir
and store the result indest
.Apply a rotation transformation to this matrix to make-z
point alongdir
.Apply a rotation transformation to this matrix to make-z
point alongdir
and store the result indest
.Apply a rotation transformation to this matrix to make-z
point alongdir
and store the result indest
.Apply a rotation transformation to this matrix to make-z
point alongdir
.Matrix4x3f.lookAlong
(Vector3fc dir, Vector3fc up, Matrix4x3f dest) Apply a rotation transformation to this matrix to make-z
point alongdir
and store the result indest
.Matrix4x3fc.lookAlong
(Vector3fc dir, Vector3fc up, Matrix4x3f dest) Apply a rotation transformation to this matrix to make-z
point alongdir
and store the result indest
.Apply a rotation to this quaternion that maps the given direction to the positive Z axis.Quaternionf.lookAlong
(Vector3fc dir, Vector3fc up, Quaternionf dest) Quaternionfc.lookAlong
(Vector3fc dir, Vector3fc up, Quaternionf dest) Apply a rotation to this quaternion that maps the given direction to the positive Z axis, and store the result indest
.Apply a "lookat" transformation to this matrix for a right-handed coordinate system, that aligns-z
withcenter - eye
.Apply a "lookat" transformation to this matrix for a right-handed coordinate system, that aligns-z
withcenter - eye
and store the result indest
.Apply a "lookat" transformation to this matrix for a right-handed coordinate system, that aligns-z
withcenter - eye
and store the result indest
.Apply a "lookat" transformation to this matrix for a right-handed coordinate system, that aligns-z
withcenter - eye
.Matrix4x3f.lookAt
(Vector3fc eye, Vector3fc center, Vector3fc up, Matrix4x3f dest) Apply a "lookat" transformation to this matrix for a right-handed coordinate system, that aligns-z
withcenter - eye
and store the result indest
.Matrix4x3fc.lookAt
(Vector3fc eye, Vector3fc center, Vector3fc up, Matrix4x3f dest) Apply a "lookat" transformation to this matrix for a right-handed coordinate system, that aligns-z
withcenter - eye
and store the result indest
.Apply a "lookat" transformation to this matrix for a left-handed coordinate system, that aligns+z
withcenter - eye
.Apply a "lookat" transformation to this matrix for a left-handed coordinate system, that aligns+z
withcenter - eye
and store the result indest
.Apply a "lookat" transformation to this matrix for a left-handed coordinate system, that aligns+z
withcenter - eye
and store the result indest
.Apply a "lookat" transformation to this matrix for a left-handed coordinate system, that aligns+z
withcenter - eye
.Matrix4x3f.lookAtLH
(Vector3fc eye, Vector3fc center, Vector3fc up, Matrix4x3f dest) Apply a "lookat" transformation to this matrix for a left-handed coordinate system, that aligns+z
withcenter - eye
and store the result indest
.Matrix4x3fc.lookAtLH
(Vector3fc eye, Vector3fc center, Vector3fc up, Matrix4x3f dest) Apply a "lookat" transformation to this matrix for a left-handed coordinate system, that aligns+z
withcenter - eye
and store the result indest
.Set the components of this vector to be the component-wise maximum of this and the other vector.Set the components ofdest
to be the component-wise maximum of this and the other vector.Set the components of this vector to be the component-wise minimum of this and the other vector.Set the components ofdest
to be the component-wise minimum of this and the other vector.Multiply this Vector3d component-wise by another Vector3fc.Multiply this Vector3d component-wise by another Vector3f and store the result indest
.Multiply this Vector3f component-wise by another Vector3fc.Multiply this Vector3f component-wise by another Vector3f and store the result indest
.Add the component-wise multiplication ofthis * a
tob
and store the result indest
.Add the component-wise multiplication ofthis * a
tob
and store the result inthis
.Add the component-wise multiplication ofthis * a
tob
and store the result inthis
.Add the component-wise multiplication ofthis * a
tob
and store the result indest
.Add the component-wise multiplication ofthis * a
tob
and store the result indest
.static void
Calculate the normal of a surface defined by pointsv1
,v2
andv3
and store it indest
.Vector3f.orthogonalize
(Vector3fc v) Transformthis
vector so that it is orthogonal to the given vectorv
and normalize the result.Vector3f.orthogonalize
(Vector3fc v, Vector3f dest) Vector3fc.orthogonalize
(Vector3fc v, Vector3f dest) Transformthis
vector so that it is orthogonal to the given vectorv
, normalize the result and store it intodest
.Vector3f.orthogonalizeUnit
(Vector3fc v) Transformthis
vector so that it is orthogonal to the given unit vectorv
and normalize the result.Vector3f.orthogonalizeUnit
(Vector3fc v, Vector3f dest) Vector3fc.orthogonalizeUnit
(Vector3fc v, Vector3f dest) Transformthis
vector so that it is orthogonal to the given unit vectorv
, normalize the result and store it intodest
.static void
GeometryUtils.perpendicular
(Vector3fc v, Vector3f dest1, Vector3f dest2) Compute two arbitrary vectors perpendicular to the given normalized vectorv
, and store them indest1
anddest2
, respectively.Project the givenposition
viathis
matrix using the specified viewport and store the resulting window coordinates inwinCoordsDest
.Project the givenposition
viathis
matrix using the specified viewport and store the resulting window coordinates inwinCoordsDest
.double
Matrix3d.quadraticFormProduct
(Vector3fc v) double
Matrix3dc.quadraticFormProduct
(Vector3fc v) Computev^T * this * v
.float
Matrix3f.quadraticFormProduct
(Vector3fc v) float
Matrix3fc.quadraticFormProduct
(Vector3fc v) Computev^T * this * v
.Apply a mirror/reflection transformation to this matrix that reflects through the given plane specified via the plane normal.Apply a mirror/reflection transformation to this matrix that reflects through the given plane specified via the plane normal, and store the result indest
.Matrix4f.reflect
(Quaternionfc orientation, Vector3fc point) Apply a mirror/reflection transformation to this matrix that reflects about a plane specified via the plane orientation and a point on the plane.Matrix4f.reflect
(Quaternionfc orientation, Vector3fc point, Matrix4f dest) Apply a mirror/reflection transformation to this matrix that reflects about the given plane specified via the plane normal and a point on the plane.Matrix4fc.reflect
(Quaternionfc orientation, Vector3fc point, Matrix4f dest) Apply a mirror/reflection transformation to this matrix that reflects about a plane specified via the plane orientation and a point on the plane, and store the result indest
.Apply a mirror/reflection transformation to this matrix that reflects about the given plane specified via the plane normal and a point on the plane, and store the result indest
.Matrix4x3f.reflect
(Quaternionfc orientation, Vector3fc point) Apply a mirror/reflection transformation to this matrix that reflects about a plane specified via the plane orientation and a point on the plane.Matrix4x3f.reflect
(Quaternionfc orientation, Vector3fc point, Matrix4x3f dest) Apply a mirror/reflection transformation to this matrix that reflects about the given plane specified via the plane normal and a point on the plane.Matrix4x3f.reflect
(Vector3fc normal, Vector3fc point, Matrix4x3f dest) Matrix4x3fc.reflect
(Quaternionfc orientation, Vector3fc point, Matrix4x3f dest) Apply a mirror/reflection transformation to this matrix that reflects about a plane specified via the plane orientation and a point on the plane, and store the result indest
.Matrix4x3fc.reflect
(Vector3fc normal, Vector3fc point, Matrix4x3f dest) Apply a mirror/reflection transformation to this matrix that reflects about the given plane specified via the plane normal and a point on the plane, and store the result indest
.Reflect this vector about the givennormal
vector.Reflect this vector about the givennormal
vector and store the result indest
.Matrix3f.reflection
(Vector3fc normal) Set this matrix to a mirror/reflection transformation that reflects through the given plane specified via the plane normal.Matrix4f.reflection
(Quaternionfc orientation, Vector3fc point) Set this matrix to a mirror/reflection transformation that reflects about a plane specified via the plane orientation and a point on the plane.Matrix4f.reflection
(Vector3fc normal, Vector3fc point) Set this matrix to a mirror/reflection transformation that reflects about the given plane specified via the plane normal and a point on the plane.Matrix4x3f.reflection
(Quaternionfc orientation, Vector3fc point) Set this matrix to a mirror/reflection transformation that reflects about a plane specified via the plane orientation and a point on the plane.Matrix4x3f.reflection
(Vector3fc normal, Vector3fc point) Set this matrix to a mirror/reflection transformation that reflects about the given plane specified via the plane normal and a point on the plane.Apply a rotation transformation, rotating the given radians about the specified axis, to this matrix.Apply a rotation transformation, rotating the given radians about the specified axis and store the result indest
.Apply a rotation transformation, rotating the given radians about the specified axis and store the result indest
.Apply a rotation transformation, rotating the given radians about the specified axis, to this matrix.Apply a rotation transformation, rotating the given radians about the specified axis and store the result indest
.Apply a rotation transformation, rotating the given radians about the specified axis and store the result indest
.Apply a rotation transformation, rotating the given radians about the specified axis, to this matrix.Apply a rotation transformation, rotating the given radians about the specified axis and store the result indest
.Apply a rotation transformation, rotating the given radians about the specified axis and store the result indest
.Apply a rotation transformation, rotating the given radians about the specified axis, to this matrix.Apply a rotation transformation, rotating the given radians about the specified axis and store the result indest
.Apply a rotation transformation, rotating the given radians about the specified axis and store the result indest
.Apply a rotation transformation, rotating the given radians about the specified axis, to this matrix.Matrix4x3d.rotate
(double angle, Vector3fc axis, Matrix4x3d dest) Apply a rotation transformation, rotating the given radians about the specified axis and store the result indest
.Matrix4x3dc.rotate
(double angle, Vector3fc axis, Matrix4x3d dest) Apply a rotation transformation, rotating the given radians about the specified axis and store the result indest
.Apply a rotation transformation, rotating the given radians about the specified axis, to this matrix.Matrix4x3f.rotate
(float angle, Vector3fc axis, Matrix4x3f dest) Apply a rotation transformation, rotating the given radians about the specified axis and store the result indest
.Matrix4x3fc.rotate
(float angle, Vector3fc axis, Matrix4x3f dest) Apply a rotation transformation, rotating the given radians about the specified axis and store the result indest
.Quaternionf.rotateAxis
(float angle, Vector3fc axis) Apply a rotation tothis
quaternion rotating the given radians about the specified axis.Quaternionf.rotateAxis
(float angle, Vector3fc axis, Quaternionf dest) Quaternionfc.rotateAxis
(float angle, Vector3fc axis, Quaternionf dest) Apply a rotation tothis
quaternion rotating the given radians about the specified axis and store the result indest
.Apply a rotation tothis
that rotates thefromDir
vector to point alongtoDir
.Quaternionf.rotateTo
(Vector3fc fromDir, Vector3fc toDir, Quaternionf dest) Quaternionfc.rotateTo
(Vector3fc fromDir, Vector3fc toDir, Quaternionf dest) Apply a rotation tothis
that rotates thefromDir
vector to point alongtoDir
and store the result indest
.Matrix3f.rotateTowards
(Vector3fc direction, Vector3fc up) Apply a model transformation to this matrix for a right-handed coordinate system, that aligns the local+Z
axis withdirection
.Matrix3f.rotateTowards
(Vector3fc direction, Vector3fc up, Matrix3f dest) Apply a model transformation to this matrix for a right-handed coordinate system, that aligns the local+Z
axis withdirection
and store the result indest
.Matrix3fc.rotateTowards
(Vector3fc direction, Vector3fc up, Matrix3f dest) Apply a model transformation to this matrix for a right-handed coordinate system, that aligns the local+Z
axis withdirection
and store the result indest
.Matrix4f.rotateTowards
(Vector3fc dir, Vector3fc up) Apply a model transformation to this matrix for a right-handed coordinate system, that aligns the local+Z
axis withdir
.Matrix4f.rotateTowards
(Vector3fc dir, Vector3fc up, Matrix4f dest) Apply a model transformation to this matrix for a right-handed coordinate system, that aligns the local+Z
axis withdir
and store the result indest
.Matrix4fc.rotateTowards
(Vector3fc dir, Vector3fc up, Matrix4f dest) Apply a model transformation to this matrix for a right-handed coordinate system, that aligns the local+Z
axis withdir
and store the result indest
.Matrix4x3f.rotateTowards
(Vector3fc dir, Vector3fc up) Apply a model transformation to this matrix for a right-handed coordinate system, that aligns the local+Z
axis withdir
.Matrix4x3f.rotateTowards
(Vector3fc dir, Vector3fc up, Matrix4x3f dest) Apply a model transformation to this matrix for a right-handed coordinate system, that aligns the local+Z
axis withdir
and store the result indest
.Matrix4x3fc.rotateTowards
(Vector3fc dir, Vector3fc up, Matrix4x3f dest) Apply a model transformation to this matrix for a right-handed coordinate system, that aligns the local+Z
axis withdir
and store the result indest
.Apply rotation ofangles.x
radians about the X axis, followed by a rotation ofangles.y
radians about the Y axis and followed by a rotation ofangles.z
radians about the Z axis.Set this matrix to a rotation matrix which rotates the given radians about a given axis.Set this matrix to a rotation matrix which rotates the given radians about a given axis.Set this matrix to a rotation matrix which rotates the given radians about a given axis.Set this matrix to a rotation matrix which rotates the given radians about a given axis.Set this matrix to a rotation matrix which rotates the given radians about a given axis.Set this matrix to a rotation matrix which rotates the given radians about a given axis.Quaternionf.rotationAxis
(float angle, Vector3fc axis) Set this quaternion to a rotation of the given angle in radians about the supplied axis.Quaternionf.rotationTo
(Vector3fc fromDir, Vector3fc toDir) Setthis
quaternion to a rotation that rotates thefromDir
vector to point alongtoDir
.Vector3f.rotationTo
(Vector3fc toDir, Quaternionf dest) Vector3fc.rotationTo
(Vector3fc toDir, Quaternionf dest) Compute the quaternion representing a rotation ofthis
vector to point alongtoDir
and store the result indest
.Matrix3f.rotationTowards
(Vector3fc dir, Vector3fc up) Set this matrix to a model transformation for a right-handed coordinate system, that aligns the local-z
axis withcenter - eye
.Matrix4f.rotationTowards
(Vector3fc dir, Vector3fc up) Set this matrix to a model transformation for a right-handed coordinate system, that aligns the local-z
axis withdir
.Matrix4x3f.rotationTowards
(Vector3fc dir, Vector3fc up) Set this matrix to a model transformation for a right-handed coordinate system, that aligns the local-z
axis withdir
.Apply scaling to this matrix by scaling the base axes by the givenxyz.x
,xyz.y
andxyz.z
factors, respectively.Apply scaling tothis
matrix by scaling the base axes by the givenxyz.x
,xyz.y
andxyz.z
factors, respectively and store the result indest
.Apply scaling to this matrix by scaling the base axes by the givenxyz.x
,xyz.y
andxyz.z
factors, respectively.Apply scaling tothis
matrix by scaling the base axes by the givenxyz.x
,xyz.y
andxyz.z
factors, respectively and store the result indest
.Apply scaling to this matrix by scaling the base axes by the givenxyz.x
,xyz.y
andxyz.z
factors, respectively.Matrix4x3f.scale
(Vector3fc xyz, Matrix4x3f dest) Matrix4x3fc.scale
(Vector3fc xyz, Matrix4x3f dest) Apply scaling tothis
matrix by scaling the base axes by the givenxyz.x
,xyz.y
andxyz.z
factors, respectively and store the result indest
.Set this matrix to be a simple scale matrix which scales the base axes byxyz.x
,xyz.y
andxyz.z
respectively.Set this matrix to be a simple scale matrix which scales the base axes byxyz.x
,xyz.y
andxyz.z
respectively.Set this matrix to be a simple scale matrix which scales the base axes byxyz.x
,xyz.y
andxyz.z
respectively.Set thisAxisAngle4f
to the given values.Set the three columns of this matrix to the supplied vectors, respectively.Set the four columns of this matrix to the supplied vectors, respectively.Set the x, y and z components to match the supplied vector.Set the x, y and z components to match the supplied vector.Set thisVector3i
to the values of v using the givenRoundingMode
.Set the x, y, and z components of this to the components ofv
and the w component tow
.Set the first three components of this to the components ofv
and the last component tow
.Set the column at the givencolumn
index, starting with0
.Set the column at the givencolumn
index, starting with0
.Matrix3f.setLookAlong
(Vector3fc dir, Vector3fc up) Set this matrix to a rotation transformation to make-z
point alongdir
.Matrix4f.setLookAlong
(Vector3fc dir, Vector3fc up) Set this matrix to a rotation transformation to make-z
point alongdir
.Matrix4x3f.setLookAlong
(Vector3fc dir, Vector3fc up) Set this matrix to a rotation transformation to make-z
point alongdir
.Set this matrix to be a "lookat" transformation for a right-handed coordinate system, that aligns-z
withcenter - eye
.Set this matrix to be a "lookat" transformation for a right-handed coordinate system, that aligns-z
withcenter - eye
.Matrix4f.setLookAtLH
(Vector3fc eye, Vector3fc center, Vector3fc up) Set this matrix to be a "lookat" transformation for a left-handed coordinate system, that aligns+z
withcenter - eye
.Matrix4x3f.setLookAtLH
(Vector3fc eye, Vector3fc center, Vector3fc up) Set this matrix to be a "lookat" transformation for a left-handed coordinate system, that aligns+z
withcenter - eye
.Set the row at the givenrow
index, starting with0
.Matrix4f.setTranslation
(Vector3fc xyz) Set only the translation components(m30, m31, m32)
of this matrix to the values(xyz.x, xyz.y, xyz.z)
.Matrix4x3f.setTranslation
(Vector3fc xyz) Set only the translation components(m30, m31, m32)
of this matrix to the values(xyz.x, xyz.y, xyz.z)
.Vector3f.smoothStep
(Vector3fc v, float t, Vector3f dest) Vector3fc.smoothStep
(Vector3fc v, float t, Vector3f dest) Compute a smooth-step (i.e.Subtract the supplied vector from this one.Subtract the supplied vector from this one and store the result indest
.Subtract the supplied vector from this one and store the result inthis
.Subtract the supplied vector from this one and store the result indest
.static void
GeometryUtils.tangent
(Vector3fc v1, Vector2fc uv1, Vector3fc v2, Vector2fc uv2, Vector3fc v3, Vector2fc uv3, Vector3f dest) Calculate the surface tangent for the three supplied vertices and UV coordinates and store the result indest
.static void
GeometryUtils.tangentBitangent
(Vector3fc v1, Vector2fc uv1, Vector3fc v2, Vector2fc uv2, Vector3fc v3, Vector2fc uv3, Vector3f destTangent, Vector3f destBitangent) Calculate the surface tangent and bitangent for the three supplied vertices and UV coordinates and store the result indest
.boolean
Test whether the given axis-aligned box is partly or completely within or outside of the frustum defined bythis
frustum culler.static boolean
Intersectionf.testAabAab
(Vector3fc minA, Vector3fc maxA, Vector3fc minB, Vector3fc maxB) Test whether the axis-aligned box with minimum cornerminA
and maximum cornermaxA
intersects the axis-aligned box with minimum cornerminB
and maximum cornermaxB
.static boolean
Intersectionf.testAabPlane
(Vector3fc min, Vector3fc max, float a, float b, float c, float d) Test whether the axis-aligned box with minimum cornermin
and maximum cornermax
intersects the plane with the general equation a*x + b*y + c*z + d = 0.static boolean
Intersectionf.testAabSphere
(Vector3fc min, Vector3fc max, Vector3fc center, float radiusSquared) Test whether the axis-aligned box with minimum cornermin
and maximum cornermax
intersects the sphere with the givencenter
and square radiusradiusSquared
.boolean
FrustumIntersection.testLineSegment
(Vector3fc a, Vector3fc b) Test whether the given line segment, defined by the end pointsa
andb
, is partly or completely within the frustum defined bythis
frustum culler.static boolean
Intersectionf.testLineSegmentSphere
(Vector3fc p0, Vector3fc p1, Vector3fc center, float radiusSquared) Test whether the line segment with the end pointsp0
andp1
intersects the given sphere with centercenter
and square radiusradiusSquared
.static boolean
Intersectionf.testLineSegmentTriangle
(Vector3fc p0, Vector3fc p1, Vector3fc v0, Vector3fc v1, Vector3fc v2, float epsilon) Test whether the line segment with the end pointsp0
andp1
intersects the triangle consisting of the three vertices(v0X, v0Y, v0Z)
,(v1X, v1Y, v1Z)
and(v2X, v2Y, v2Z)
, regardless of the winding order of the triangle or the direction of the line segment between its two end points.boolean
Test whether the given point is within the frustum defined bythis
frustum culler.static boolean
Intersectionf.testRayAab
(Vector3fc origin, Vector3fc dir, Vector3fc min, Vector3fc max) Test whether the ray with the givenorigin
and directiondir
intersects the axis-aligned box specified as its minimum cornermin
and maximum cornermax
.static boolean
Intersectionf.testRaySphere
(Vector3fc origin, Vector3fc dir, Vector3fc center, float radiusSquared) Test whether the ray with the givenorigin
and normalized directiondir
intersects the sphere with the givencenter
and square radius.static boolean
Intersectionf.testRayTriangle
(Vector3fc origin, Vector3fc dir, Vector3fc v0, Vector3fc v1, Vector3fc v2, float epsilon) Test whether the ray with the givenorigin
and the givendir
intersects the frontface of the triangle consisting of the three verticesv0
,v1
andv2
.static boolean
Intersectionf.testRayTriangleFront
(Vector3fc origin, Vector3fc dir, Vector3fc v0, Vector3fc v1, Vector3fc v2, float epsilon) Test whether the ray with the givenorigin
and the givendir
intersects the frontface of the triangle consisting of the three verticesv0
,v1
andv2
.boolean
FrustumIntersection.testSphere
(Vector3fc center, float radius) Test whether the given sphere is partly or completely within or outside of the frustum defined bythis
frustum culler.static boolean
Intersectionf.testSphereSphere
(Vector3fc centerA, float radiusSquaredA, Vector3fc centerB, float radiusSquaredB) Test whether the one sphere with centercenterA
and square radiusradiusSquaredA
intersects the other sphere with centercenterB
and square radiusradiusSquaredB
.Transform the given vector by the rotation transformation described by thisAxisAngle4d
and store the result indest
.Transform the given vector by the rotation transformation described by thisAxisAngle4f
and store the result indest
.Transform the given vector by this matrix and store the result indest
.Transform the given vector by this matrix and store the result indest
.Transform the given vector by this quaternion and store the result indest
.Transform the given vector by this quaternion and store the result indest
.Matrix4f.transformAab
(Vector3fc min, Vector3fc max, Vector3f outMin, Vector3f outMax) Matrix4fc.transformAab
(Vector3fc min, Vector3fc max, Vector3f outMin, Vector3f outMax) Transform the axis-aligned box given as the minimum cornermin
and maximum cornermax
bythis
affine
matrix and compute the axis-aligned box of the result whose minimum corner is stored inoutMin
and maximum corner stored inoutMax
.Matrix4x3f.transformAab
(Vector3fc min, Vector3fc max, Vector3f outMin, Vector3f outMax) Matrix4x3fc.transformAab
(Vector3fc min, Vector3fc max, Vector3f outMin, Vector3f outMax) Transform the axis-aligned box given as the minimum cornermin
and maximum cornermax
bythis
matrix and compute the axis-aligned box of the result whose minimum corner is stored inoutMin
and maximum corner stored inoutMax
.Matrix4d.transformDirection
(Vector3fc v, Vector3f dest) Matrix4dc.transformDirection
(Vector3fc v, Vector3f dest) Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=0, by this matrix and store the result indest
.Matrix4f.transformDirection
(Vector3fc v, Vector3f dest) Matrix4fc.transformDirection
(Vector3fc v, Vector3f dest) Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=0, by this matrix and store the result indest
.Matrix4x3f.transformDirection
(Vector3fc v, Vector3f dest) Matrix4x3fc.transformDirection
(Vector3fc v, Vector3f dest) Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=0, by this matrix and store the result indest
.Quaterniond.transformInverse
(Vector3fc vec, Vector3f dest) Quaterniondc.transformInverse
(Vector3fc vec, Vector3f dest) Transform the given vector by the inverse of this quaternion and store the result indest
.Quaternionf.transformInverse
(Vector3fc vec, Vector3f dest) Quaternionfc.transformInverse
(Vector3fc vec, Vector3f dest) Transform the given vector by the inverse of quaternion and store the result indest
.Quaterniond.transformInverseUnit
(Vector3fc vec, Vector3f dest) Quaterniondc.transformInverseUnit
(Vector3fc vec, Vector3f dest) Transform the given vector by the inverse of this unit quaternion and store the result indest
.Quaternionf.transformInverseUnit
(Vector3fc vec, Vector3f dest) Quaternionfc.transformInverseUnit
(Vector3fc vec, Vector3f dest) Transform the given vector by the inverse of this unit quaternion and store the result indest
.Matrix4f.transformPosition
(Vector3fc v, Vector3f dest) Matrix4fc.transformPosition
(Vector3fc v, Vector3f dest) Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=1, by this matrix and store the result indest
.Matrix4x3f.transformPosition
(Vector3fc v, Vector3f dest) Matrix4x3fc.transformPosition
(Vector3fc v, Vector3f dest) Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=1, by this matrix and store the result indest
.Matrix4f.transformProject
(Vector3fc v, Vector3f dest) Matrix4fc.transformProject
(Vector3fc v, Vector3f dest) Transform/multiply the given vector by this matrix, perform perspective divide and store the result indest
.Matrix3f.transformTranspose
(Vector3fc v, Vector3f dest) Matrix3fc.transformTranspose
(Vector3fc v, Vector3f dest) Transform the given vector by the transpose of this matrix and store the result indest
.Quaterniond.transformUnit
(Vector3fc vec, Vector3f dest) Quaterniondc.transformUnit
(Vector3fc vec, Vector3f dest) Transform the given vector by this unit quaternion and store the result indest
.Quaternionf.transformUnit
(Vector3fc vec, Vector3f dest) Quaternionfc.transformUnit
(Vector3fc vec, Vector3f dest) Transform the given vector by this unit quaternion and store the result indest
.Apply a translation to this matrix by translating by the given number of units in x, y and z.Apply a translation to this matrix by translating by the given number of units in x, y and z and store the result indest
.Apply a translation to this matrix by translating by the given number of units in x, y and z and store the result indest
.Apply a translation to this matrix by translating by the given number of units in x, y and z.Apply a translation to this matrix by translating by the given number of units in x, y and z and store the result indest
.Apply a translation to this matrix by translating by the given number of units in x, y and z and store the result indest
.Apply a translation to this matrix by translating by the given number of units in x, y and z.Matrix4x3d.translate
(Vector3fc offset, Matrix4x3d dest) Apply a translation to this matrix by translating by the given number of units in x, y and z and store the result indest
.Matrix4x3dc.translate
(Vector3fc offset, Matrix4x3d dest) Apply a translation to this matrix by translating by the given number of units in x, y and z and store the result indest
.Apply a translation to this matrix by translating by the given number of units in x, y and z.Matrix4x3f.translate
(Vector3fc offset, Matrix4x3f dest) Apply a translation to this matrix by translating by the given number of units in x, y and z and store the result indest
.Matrix4x3fc.translate
(Vector3fc offset, Matrix4x3f dest) Apply a translation to this matrix by translating by the given number of units in x, y and z and store the result indest
.Matrix4d.translateLocal
(Vector3fc offset) Pre-multiply a translation to this matrix by translating by the given number of units in x, y and z.Matrix4d.translateLocal
(Vector3fc offset, Matrix4d dest) Pre-multiply a translation to this matrix by translating by the given number of units in x, y and z and store the result indest
.Matrix4dc.translateLocal
(Vector3fc offset, Matrix4d dest) Pre-multiply a translation to this matrix by translating by the given number of units in x, y and z and store the result indest
.Matrix4f.translateLocal
(Vector3fc offset) Pre-multiply a translation to this matrix by translating by the given number of units in x, y and z.Matrix4f.translateLocal
(Vector3fc offset, Matrix4f dest) Pre-multiply a translation to this matrix by translating by the given number of units in x, y and z and store the result indest
.Matrix4fc.translateLocal
(Vector3fc offset, Matrix4f dest) Pre-multiply a translation to this matrix by translating by the given number of units in x, y and z and store the result indest
.Matrix4x3d.translateLocal
(Vector3fc offset) Pre-multiply a translation to this matrix by translating by the given number of units in x, y and z.Matrix4x3d.translateLocal
(Vector3fc offset, Matrix4x3d dest) Pre-multiply a translation to this matrix by translating by the given number of units in x, y and z and store the result indest
.Matrix4x3dc.translateLocal
(Vector3fc offset, Matrix4x3d dest) Pre-multiply a translation to this matrix by translating by the given number of units in x, y and z and store the result indest
.Matrix4x3f.translateLocal
(Vector3fc offset) Pre-multiply a translation to this matrix by translating by the given number of units in x, y and z.Matrix4x3f.translateLocal
(Vector3fc offset, Matrix4x3f dest) Pre-multiply a translation to this matrix by translating by the given number of units in x, y and z and store the result indest
.Matrix4x3fc.translateLocal
(Vector3fc offset, Matrix4x3f dest) Pre-multiply a translation to this matrix by translating by the given number of units in x, y and z and store the result indest
.Matrix4d.translation
(Vector3fc offset) Set this matrix to be a simple translation matrix.Matrix4f.translation
(Vector3fc offset) Set this matrix to be a simple translation matrix.Matrix4x3d.translation
(Vector3fc offset) Set this matrix to be a simple translation matrix.Matrix4x3f.translation
(Vector3fc offset) Set this matrix to be a simple translation matrix.Matrix4f.translationRotate
(Vector3fc translation, Quaternionfc quat) Setthis
matrix toT * R
, whereT
is the giventranslation
andR
is a rotation transformation specified by the given quaternion.Matrix4x3f.translationRotate
(Vector3fc translation, Quaternionfc quat) Setthis
matrix toT * R
, whereT
is the giventranslation
andR
is a rotation transformation specified by the given quaternion.Matrix4d.translationRotateInvert
(Vector3fc translation, Quaternionfc quat) Setthis
matrix to(T * R)-1
, whereT
is the giventranslation
andR
is a rotation transformation specified by the given quaternion.Matrix4f.translationRotateInvert
(Vector3fc translation, Quaternionfc quat) Setthis
matrix to(T * R)-1
, whereT
is the giventranslation
andR
is a rotation transformation specified by the given quaternion.Matrix4x3f.translationRotateInvert
(Vector3fc translation, Quaternionfc quat) Setthis
matrix to(T * R)-1
, whereT
is the giventranslation
andR
is a rotation transformation specified by the given quaternion.Matrix4d.translationRotateScale
(Vector3fc translation, Quaternionfc quat, double scale) Setthis
matrix toT * R * S
, whereT
is the giventranslation
,R
is a rotation transformation specified by the given quaternion, andS
is a scaling transformation which scales all three axes byscale
.Matrix4d.translationRotateScale
(Vector3fc translation, Quaternionfc quat, Vector3fc scale) Setthis
matrix toT * R * S
, whereT
is the giventranslation
,R
is a rotation transformation specified by the given quaternion, andS
is a scaling transformation which scales the axes byscale
.Matrix4f.translationRotateScale
(Vector3fc translation, Quaternionfc quat, float scale) Setthis
matrix toT * R * S
, whereT
is the giventranslation
,R
is a rotation transformation specified by the given quaternion, andS
is a scaling transformation which scales all three axes byscale
.Matrix4f.translationRotateScale
(Vector3fc translation, Quaternionfc quat, Vector3fc scale) Setthis
matrix toT * R * S
, whereT
is the giventranslation
,R
is a rotation transformation specified by the given quaternion, andS
is a scaling transformation which scales the axes byscale
.Matrix4x3d.translationRotateScale
(Vector3fc translation, Quaternionfc quat, Vector3fc scale) Setthis
matrix toT * R * S
, whereT
is the giventranslation
,R
is a rotation transformation specified by the given quaternion, andS
is a scaling transformation which scales the axes byscale
.Matrix4x3f.translationRotateScale
(Vector3fc translation, Quaternionfc quat, Vector3fc scale) Setthis
matrix toT * R * S
, whereT
is the giventranslation
,R
is a rotation transformation specified by the given quaternion, andS
is a scaling transformation which scales the axes byscale
.Matrix4d.translationRotateScaleInvert
(Vector3fc translation, Quaternionfc quat, double scale) Setthis
matrix to(T * R * S)-1
, whereT
is the giventranslation
,R
is a rotation transformation specified by the given quaternion, andS
is a scaling transformation which scales all three axes byscale
.Matrix4d.translationRotateScaleInvert
(Vector3fc translation, Quaternionfc quat, Vector3fc scale) Setthis
matrix to(T * R * S)-1
, whereT
is the giventranslation
,R
is a rotation transformation specified by the given quaternion, andS
is a scaling transformation which scales the axes byscale
.Matrix4f.translationRotateScaleInvert
(Vector3fc translation, Quaternionfc quat, float scale) Setthis
matrix to(T * R * S)-1
, whereT
is the giventranslation
,R
is a rotation transformation specified by the given quaternion, andS
is a scaling transformation which scales all three axes byscale
.Matrix4f.translationRotateScaleInvert
(Vector3fc translation, Quaternionfc quat, Vector3fc scale) Setthis
matrix to(T * R * S)-1
, whereT
is the giventranslation
,R
is a rotation transformation specified by the given quaternion, andS
is a scaling transformation which scales the axes byscale
.Matrix4x3f.translationRotateScaleMul
(Vector3fc translation, Quaternionfc quat, Vector3fc scale, Matrix4x3f m) Setthis
matrix toT * R * S * M
, whereT
is the giventranslation
,R
is a rotation transformation specified by the given quaternion,S
is a scaling transformation which scales the axes byscale
.Matrix4d.translationRotateScaleMulAffine
(Vector3fc translation, Quaterniondc quat, Vector3fc scale, Matrix4d m) Setthis
matrix toT * R * S * M
, whereT
is the giventranslation
,R
is a rotation - and possibly scaling - transformation specified by the given quaternion,S
is a scaling transformation which scales the axes byscale
andM
is anaffine
matrix.Matrix4f.translationRotateScaleMulAffine
(Vector3fc translation, Quaternionfc quat, Vector3fc scale, Matrix4f m) Setthis
matrix toT * R * S * M
, whereT
is the giventranslation
,R
is a rotation - and possibly scaling - transformation specified by the given quaternion,S
is a scaling transformation which scales the axes byscale
andM
is anaffine
matrix.Matrix4f.translationRotateTowards
(Vector3fc pos, Vector3fc dir, Vector3fc up) Set this matrix to a model transformation for a right-handed coordinate system, that translates to the givenpos
and aligns the local-z
axis withdir
.Matrix4x3f.translationRotateTowards
(Vector3fc pos, Vector3fc dir, Vector3fc up) Set this matrix to a model transformation for a right-handed coordinate system, that translates to the givenpos
and aligns the local-z
axis withdir
.Unproject the given window coordinateswinCoords
bythis
matrix using the specified viewport.Unproject the given window coordinateswinCoords
bythis
matrix using the specified viewport.Matrix4f.unprojectInv
(Vector3fc winCoords, int[] viewport, Vector3f dest) Matrix4f.unprojectInv
(Vector3fc winCoords, int[] viewport, Vector4f dest) Matrix4fc.unprojectInv
(Vector3fc winCoords, int[] viewport, Vector3f dest) Unproject the given window coordinateswinCoords
bythis
matrix using the specified viewport.Matrix4fc.unprojectInv
(Vector3fc winCoords, int[] viewport, Vector4f dest) Unproject the given window coordinateswinCoords
bythis
matrix using the specified viewport.Matrix4f.withLookAtUp
(Vector3fc up) Apply a transformation to this matrix to ensure that the local Y axis (as obtained byMatrix4f.positiveY(Vector3f)
) will be coplanar to the plane spanned by the local Z axis (as obtained byMatrix4f.positiveZ(Vector3f)
) and the given vectorup
.Matrix4f.withLookAtUp
(Vector3fc up, Matrix4f dest) Matrix4fc.withLookAtUp
(Vector3fc up, Matrix4f dest) Apply a transformation to this matrix to ensure that the local Y axis (as obtained byMatrix4fc.positiveY(Vector3f)
) will be coplanar to the plane spanned by the local Z axis (as obtained byMatrix4fc.positiveZ(Vector3f)
) and the given vectorup
, and store the result indest
.Matrix4x3f.withLookAtUp
(Vector3fc up) Apply a transformation to this matrix to ensure that the local Y axis (as obtained byMatrix4x3f.positiveY(Vector3f)
) will be coplanar to the plane spanned by the local Z axis (as obtained byMatrix4x3f.positiveZ(Vector3f)
) and the given vectorup
.Matrix4x3f.withLookAtUp
(Vector3fc up, Matrix4x3f dest) Matrix4x3fc.withLookAtUp
(Vector3fc up, Matrix4x3f dest) Apply a transformation to this matrix to ensure that the local Y axis (as obtained byMatrix4x3fc.positiveY(Vector3f)
) will be coplanar to the plane spanned by the local Z axis (as obtained byMatrix4x3fc.positiveZ(Vector3f)
) and the given vectorup
, and store the result indest
.ModifierConstructorDescriptionAxisAngle4f
(float angle, Vector3fc v) Create a newAxisAngle4f
with the given values.Create a newMatrix3f
and initialize its three columns using the supplied vectors.Matrix4x3f
(Vector3fc col0, Vector3fc col1, Vector3fc col2, Vector3fc col3) Create a newMatrix4x3f
and initialize its four columns using the supplied vectors.Create a newVector3d
whose values will be copied from the given vector.Create a newVector3f
with the same values asv
.Create a newVector3i
and initialize its components to the rounded value of the given vector.Create a newVector4d
with the x, y, and z components from the givenv
and the w component from the givenw
.Create a newVector4i
with the first three components from the givenv
and the givenw
and round using the givenRoundingMode
.