Component-wise add this
and other
.
Component-wise add this
and other
and store the result in dest
.
Matrix4x3f.arcball(float radius,
float centerX,
float centerY,
float centerZ,
float angleX,
float angleY)
Apply an arcball view transformation to this matrix with the given radius
and center (centerX, centerY, centerZ)
position of the arcball and the specified X and Y rotation angles.
Matrix4x3f.arcball(float radius,
float centerX,
float centerY,
float centerZ,
float angleX,
float angleY,
Matrix4x3f dest)
Apply an arcball view transformation to this matrix with the given radius
and center
position of the arcball and the specified X and Y rotation angles.
Matrix4x3fc.arcball(float radius,
float centerX,
float centerY,
float centerZ,
float angleX,
float angleY,
Matrix4x3f dest)
Apply an arcball view transformation to this matrix with the given radius
and center (centerX, centerY, centerZ)
position of the arcball and the specified X and Y rotation angles, and store the result in dest
.
Apply an arcball view transformation to this matrix with the given radius
and center
position of the arcball and the specified X and Y rotation angles, and store the result in dest
.
Matrix4x3f.assume(int properties)
Assume the given properties about this matrix.
Set this matrix to a cylindrical billboard transformation that rotates the local +Z axis of a given object with position objPos
towards
a target position at targetPos
while constraining a cylindrical rotation around the given up
vector.
Set this matrix to a spherical billboard transformation that rotates the local +Z axis of a given object with position objPos
towards
a target position at targetPos
using a shortest arc rotation by not preserving any up vector of the object.
Set this matrix to a spherical billboard transformation that rotates the local +Z axis of a given object with position objPos
towards
a target position at targetPos
.
Compute the cofactor matrix of the left 3x3 submatrix of this
.
Compute the cofactor matrix of the left 3x3 submatrix of this
and store it into dest
.
Compute the cofactor matrix of the left 3x3 submatrix of this
and store it into dest
.
Compute and set the matrix properties returned by
properties()
based
on the current matrix element values.
Component-wise add this
and other
by first multiplying each component of other
by otherFactor
and
adding that result to this
.
Component-wise add this
and other
by first multiplying each component of other
by otherFactor
,
adding that to this
and storing the final result in dest
.
Get the current values of this
matrix and store them into
dest
.
Get the current values of this
matrix and store them into
dest
.
Set the given destination matrix to the rotation represented by this
.
Get the current values of the upper 4x3 submatrix of this
matrix and store them into
dest
.
Reset this matrix to the identity.
Invert this matrix and write the result into dest
.
Invert this
orthographic projection matrix.
Invert this
orthographic projection matrix and store the result into the given dest
.
Linearly interpolate this
and other
using the given interpolation factor t
and store the result in this
.
Linearly interpolate this
and other
using the given interpolation factor t
and store the result in dest
.
Matrix4x3f.lookAlong(float dirX,
float dirY,
float dirZ,
float upX,
float upY,
float upZ)
Apply a rotation transformation to this matrix to make -z
point along dir
.
Matrix4x3f.lookAlong(float dirX,
float dirY,
float dirZ,
float upX,
float upY,
float upZ,
Matrix4x3f dest)
Apply a rotation transformation to this matrix to make -z
point along dir
and store the result in dest
.
Apply a rotation transformation to this matrix to make -z
point along dir
.
Apply a rotation transformation to this matrix to make -z
point along dir
and store the result in dest
.
Matrix4x3fc.lookAlong(float dirX,
float dirY,
float dirZ,
float upX,
float upY,
float upZ,
Matrix4x3f dest)
Apply a rotation transformation to this matrix to make -z
point along dir
and store the result in dest
.
Apply a rotation transformation to this matrix to make -z
point along dir
and store the result in dest
.
Matrix4x3f.lookAt(float eyeX,
float eyeY,
float eyeZ,
float centerX,
float centerY,
float centerZ,
float upX,
float upY,
float upZ)
Apply a "lookat" transformation to this matrix for a right-handed coordinate system,
that aligns -z
with center - eye
.
Matrix4x3f.lookAt(float eyeX,
float eyeY,
float eyeZ,
float centerX,
float centerY,
float centerZ,
float upX,
float upY,
float upZ,
Matrix4x3f dest)
Apply a "lookat" transformation to this matrix for a right-handed coordinate system,
that aligns -z
with center - eye
and store the result in dest
.
Apply a "lookat" transformation to this matrix for a right-handed coordinate system,
that aligns -z
with center - eye
.
Apply a "lookat" transformation to this matrix for a right-handed coordinate system,
that aligns -z
with center - eye
and store the result in dest
.
Matrix4x3fc.lookAt(float eyeX,
float eyeY,
float eyeZ,
float centerX,
float centerY,
float centerZ,
float upX,
float upY,
float upZ,
Matrix4x3f dest)
Apply a "lookat" transformation to this matrix for a right-handed coordinate system,
that aligns -z
with center - eye
and store the result in dest
.
Apply a "lookat" transformation to this matrix for a right-handed coordinate system,
that aligns -z
with center - eye
and store the result in dest
.
Matrix4x3f.lookAtLH(float eyeX,
float eyeY,
float eyeZ,
float centerX,
float centerY,
float centerZ,
float upX,
float upY,
float upZ)
Apply a "lookat" transformation to this matrix for a left-handed coordinate system,
that aligns +z
with center - eye
.
Matrix4x3f.lookAtLH(float eyeX,
float eyeY,
float eyeZ,
float centerX,
float centerY,
float centerZ,
float upX,
float upY,
float upZ,
Matrix4x3f dest)
Apply a "lookat" transformation to this matrix for a left-handed coordinate system,
that aligns +z
with center - eye
and store the result in dest
.
Apply a "lookat" transformation to this matrix for a left-handed coordinate system,
that aligns +z
with center - eye
.
Apply a "lookat" transformation to this matrix for a left-handed coordinate system,
that aligns +z
with center - eye
and store the result in dest
.
Matrix4x3fc.lookAtLH(float eyeX,
float eyeY,
float eyeZ,
float centerX,
float centerY,
float centerZ,
float upX,
float upY,
float upZ,
Matrix4x3f dest)
Apply a "lookat" transformation to this matrix for a left-handed coordinate system,
that aligns +z
with center - eye
and store the result in dest
.
Apply a "lookat" transformation to this matrix for a left-handed coordinate system,
that aligns +z
with center - eye
and store the result in dest
.
Matrix4x3f.m00(float m00)
Set the value of the matrix element at column 0 and row 0.
Matrix4x3f.m01(float m01)
Set the value of the matrix element at column 0 and row 1.
Matrix4x3f.m02(float m02)
Set the value of the matrix element at column 0 and row 2.
Matrix4x3f.m10(float m10)
Set the value of the matrix element at column 1 and row 0.
Matrix4x3f.m11(float m11)
Set the value of the matrix element at column 1 and row 1.
Matrix4x3f.m12(float m12)
Set the value of the matrix element at column 1 and row 2.
Matrix4x3f.m20(float m20)
Set the value of the matrix element at column 2 and row 0.
Matrix4x3f.m21(float m21)
Set the value of the matrix element at column 2 and row 1.
Matrix4x3f.m22(float m22)
Set the value of the matrix element at column 2 and row 2.
Matrix4x3f.m30(float m30)
Set the value of the matrix element at column 3 and row 0.
Matrix4x3f.m31(float m31)
Set the value of the matrix element at column 3 and row 1.
Matrix4x3f.m32(float m32)
Set the value of the matrix element at column 3 and row 2.
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this matrix by the supplied right
matrix and store the result in this
.
Multiply this matrix by the supplied right
matrix and store the result in dest
.
Matrix4x3f.mul3x3(float rm00,
float rm01,
float rm02,
float rm10,
float rm11,
float rm12,
float rm20,
float rm21,
float rm22)
Multiply this
by the 4x3 matrix with the column vectors (rm00, rm01, rm02)
,
(rm10, rm11, rm12)
, (rm20, rm21, rm22)
and (0, 0, 0)
.
Matrix4x3f.mul3x3(float rm00,
float rm01,
float rm02,
float rm10,
float rm11,
float rm12,
float rm20,
float rm21,
float rm22,
Matrix4x3f dest)
Matrix4x3fc.mul3x3(float rm00,
float rm01,
float rm02,
float rm10,
float rm11,
float rm12,
float rm20,
float rm21,
float rm22,
Matrix4x3f dest)
Multiply this
by the 4x3 matrix with the column vectors (rm00, rm01, rm02)
,
(rm10, rm11, rm12)
, (rm20, rm21, rm22)
and (0, 0, 0)
and store the result in dest
.
Component-wise multiply this
by other
.
Component-wise multiply this
by other
and store the result in dest
.
Multiply this
orthographic projection matrix by the supplied view
matrix.
Multiply this
orthographic projection matrix by the supplied view
matrix
and store the result in dest
.
Multiply this matrix, which is assumed to only contain a translation, by the supplied right
matrix and store the result in dest
.
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Compute a normal matrix from the left 3x3 submatrix of this
and store it into the left 3x3 submatrix of this
.
Compute a normal matrix from the left 3x3 submatrix of this
and store it into the left 3x3 submatrix of dest
.
Compute a normal matrix from the left 3x3 submatrix of this
and store it into the left 3x3 submatrix of dest
.
Normalize the left 3x3 submatrix of this matrix.
Normalize the left 3x3 submatrix of this matrix and store the result in dest
.
Apply an oblique projection transformation to this matrix with the given values for a
and
b
.
Apply an oblique projection transformation to this matrix with the given values for a
and
b
and store the result in dest
.
Apply an oblique projection transformation to this matrix with the given values for a
and
b
and store the result in dest
.
Matrix4x3f.ortho(float left,
float right,
float bottom,
float top,
float zNear,
float zFar)
Apply an orthographic projection transformation for a right-handed coordinate system
using OpenGL's NDC z range of [-1..+1]
to this matrix.
Matrix4x3f.ortho(float left,
float right,
float bottom,
float top,
float zNear,
float zFar,
boolean zZeroToOne)
Apply an orthographic projection transformation for a right-handed coordinate system using the given NDC z range to this matrix.
Matrix4x3f.ortho(float left,
float right,
float bottom,
float top,
float zNear,
float zFar,
boolean zZeroToOne,
Matrix4x3f dest)
Apply an orthographic projection transformation for a right-handed coordinate system
using the given NDC z range to this matrix and store the result in dest
.
Matrix4x3f.ortho(float left,
float right,
float bottom,
float top,
float zNear,
float zFar,
Matrix4x3f dest)
Apply an orthographic projection transformation for a right-handed coordinate system
using OpenGL's NDC z range of [-1..+1]
to this matrix and store the result in dest
.
Matrix4x3fc.ortho(float left,
float right,
float bottom,
float top,
float zNear,
float zFar,
boolean zZeroToOne,
Matrix4x3f dest)
Apply an orthographic projection transformation for a right-handed coordinate system
using the given NDC z range to this matrix and store the result in dest
.
Matrix4x3fc.ortho(float left,
float right,
float bottom,
float top,
float zNear,
float zFar,
Matrix4x3f dest)
Apply an orthographic projection transformation for a right-handed coordinate system
using OpenGL's NDC z range of [-1..+1]
to this matrix and store the result in dest
.
Matrix4x3f.ortho2D(float left,
float right,
float bottom,
float top)
Apply an orthographic projection transformation for a right-handed coordinate system to this matrix.
Matrix4x3f.ortho2D(float left,
float right,
float bottom,
float top,
Matrix4x3f dest)
Apply an orthographic projection transformation for a right-handed coordinate system to this matrix
and store the result in dest
.
Matrix4x3fc.ortho2D(float left,
float right,
float bottom,
float top,
Matrix4x3f dest)
Apply an orthographic projection transformation for a right-handed coordinate system to this matrix
and store the result in dest
.
Matrix4x3f.ortho2DLH(float left,
float right,
float bottom,
float top)
Apply an orthographic projection transformation for a left-handed coordinate system to this matrix.
Apply an orthographic projection transformation for a left-handed coordinate system to this matrix and store the result in dest
.
Apply an orthographic projection transformation for a left-handed coordinate system to this matrix and store the result in dest
.
Matrix4x3f.orthoLH(float left,
float right,
float bottom,
float top,
float zNear,
float zFar)
Apply an orthographic projection transformation for a left-handed coordiante system
using OpenGL's NDC z range of [-1..+1]
to this matrix.
Matrix4x3f.orthoLH(float left,
float right,
float bottom,
float top,
float zNear,
float zFar,
boolean zZeroToOne)
Apply an orthographic projection transformation for a left-handed coordiante system
using the given NDC z range to this matrix.
Matrix4x3f.orthoLH(float left,
float right,
float bottom,
float top,
float zNear,
float zFar,
boolean zZeroToOne,
Matrix4x3f dest)
Apply an orthographic projection transformation for a left-handed coordiante system
using the given NDC z range to this matrix and store the result in dest
.
Matrix4x3f.orthoLH(float left,
float right,
float bottom,
float top,
float zNear,
float zFar,
Matrix4x3f dest)
Apply an orthographic projection transformation for a left-handed coordiante system
using OpenGL's NDC z range of [-1..+1]
to this matrix and store the result in dest
.
Matrix4x3fc.orthoLH(float left,
float right,
float bottom,
float top,
float zNear,
float zFar,
boolean zZeroToOne,
Matrix4x3f dest)
Apply an orthographic projection transformation for a left-handed coordiante system
using the given NDC z range to this matrix and store the result in dest
.
Matrix4x3fc.orthoLH(float left,
float right,
float bottom,
float top,
float zNear,
float zFar,
Matrix4x3f dest)
Apply an orthographic projection transformation for a left-handed coordiante system
using OpenGL's NDC z range of [-1..+1]
to this matrix and store the result in dest
.
Matrix4x3f.orthoSymmetric(float width,
float height,
float zNear,
float zFar)
Apply a symmetric orthographic projection transformation for a right-handed coordinate system
using OpenGL's NDC z range of [-1..+1]
to this matrix.
Matrix4x3f.orthoSymmetric(float width,
float height,
float zNear,
float zFar,
boolean zZeroToOne)
Apply a symmetric orthographic projection transformation for a right-handed coordinate system
using the given NDC z range to this matrix.
Apply a symmetric orthographic projection transformation for a right-handed coordinate system
using the given NDC z range to this matrix and store the result in dest
.
Apply a symmetric orthographic projection transformation for a right-handed coordinate system
using OpenGL's NDC z range of [-1..+1]
to this matrix and store the result in dest
.
Apply a symmetric orthographic projection transformation for a right-handed coordinate system
using the given NDC z range to this matrix and store the result in dest
.
Apply a symmetric orthographic projection transformation for a right-handed coordinate system
using OpenGL's NDC z range of [-1..+1]
to this matrix and store the result in dest
.
Apply a symmetric orthographic projection transformation for a left-handed coordinate system
using OpenGL's NDC z range of [-1..+1]
to this matrix.
Matrix4x3f.orthoSymmetricLH(float width,
float height,
float zNear,
float zFar,
boolean zZeroToOne)
Apply a symmetric orthographic projection transformation for a left-handed coordinate system
using the given NDC z range to this matrix.
Apply a symmetric orthographic projection transformation for a left-handed coordinate system
using the given NDC z range to this matrix and store the result in dest
.
Apply a symmetric orthographic projection transformation for a left-handed coordinate system
using OpenGL's NDC z range of [-1..+1]
to this matrix and store the result in dest
.
Apply a symmetric orthographic projection transformation for a left-handed coordinate system
using the given NDC z range to this matrix and store the result in dest
.
Apply a symmetric orthographic projection transformation for a left-handed coordinate system
using OpenGL's NDC z range of [-1..+1]
to this matrix and store the result in dest
.
Matrix4x3f.pick(float x,
float y,
float width,
float height,
int[] viewport)
Apply a picking transformation to this matrix using the given window coordinates (x, y)
as the pick center
and the given (width, height)
as the size of the picking region in window coordinates.
Matrix4x3f.pick(float x,
float y,
float width,
float height,
int[] viewport,
Matrix4x3f dest)
Matrix4x3fc.pick(float x,
float y,
float width,
float height,
int[] viewport,
Matrix4x3f dest)
Apply a picking transformation to this matrix using the given window coordinates (x, y)
as the pick center
and the given (width, height)
as the size of the picking region in window coordinates, and store the result
in dest
.
Matrix4x3f.reflect(float a,
float b,
float c,
float d)
Apply a mirror/reflection transformation to this matrix that reflects about the given plane
specified via the equation x*a + y*b + z*c + d = 0
.
Matrix4x3f.reflect(float nx,
float ny,
float nz,
float px,
float py,
float pz)
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(float nx,
float ny,
float nz,
float px,
float py,
float pz,
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.
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.
Matrix4x3fc.reflect(float nx,
float ny,
float nz,
float px,
float py,
float pz,
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 in dest
.
Apply a mirror/reflection transformation to this matrix that reflects about the given plane
specified via the equation x*a + y*b + z*c + d = 0
and store the result in 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 in 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 in dest
.
Matrix4x3f.reflection(float a,
float b,
float c,
float d)
Set this matrix to a mirror/reflection transformation that reflects about the given plane
specified via the equation x*a + y*b + z*c + d = 0
.
Matrix4x3f.reflection(float nx,
float ny,
float nz,
float px,
float py,
float pz)
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.
Set this matrix to a mirror/reflection transformation that reflects about a plane
specified via the plane orientation and a point on the plane.
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.rotate(float ang,
float x,
float y,
float z)
Apply rotation to this matrix by rotating the given amount of radians
about the specified (x, y, z)
axis.
Apply rotation to this matrix by rotating the given amount of radians
about the specified (x, y, z)
axis and store the result in dest
.
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 in dest
.
Apply a rotation transformation, rotating about the given
AxisAngle4f
, to this matrix.
Apply a rotation transformation, rotating about the given
AxisAngle4f
and store the result in
dest
.
Apply the rotation - and possibly scaling - transformation of the given
Quaternionfc
to this matrix.
Apply the rotation - and possibly scaling - transformation of the given
Quaternionfc
to this matrix and store
the result in
dest
.
Apply rotation to this matrix by rotating the given amount of radians
about the specified (x, y, z)
axis and store the result in dest
.
Apply a rotation transformation, rotating the given radians about the specified axis and store the result in dest
.
Apply a rotation transformation, rotating about the given
AxisAngle4f
and store the result in
dest
.
Apply the rotation - and possibly scaling - transformation of the given
Quaternionfc
to this matrix and store
the result in
dest
.
Apply the rotation transformation of the given
Quaternionfc
to this matrix while using
(ox, oy, oz)
as the rotation origin.
Apply the rotation - and possibly scaling - transformation of the given
Quaternionfc
to this matrix while using
(ox, oy, oz)
as the rotation origin,
and store the result in
dest
.
Matrix4x3f.rotateLocal(float ang,
float x,
float y,
float z)
Pre-multiply a rotation to this matrix by rotating the given amount of radians
about the specified (x, y, z)
axis.
Pre-multiply a rotation to this matrix by rotating the given amount of radians
about the specified (x, y, z)
axis and store the result in dest
.
Pre-multiply the rotation - and possibly scaling - transformation of the given
Quaternionfc
to this matrix.
Pre-multiply the rotation - and possibly scaling - transformation of the given
Quaternionfc
to this matrix and store
the result in
dest
.
Pre-multiply a rotation to this matrix by rotating the given amount of radians
about the specified (x, y, z)
axis and store the result in dest
.
Pre-multiply the rotation - and possibly scaling - transformation of the given
Quaternionfc
to this matrix and store
the result in
dest
.
Pre-multiply a rotation to this matrix by rotating the given amount of radians about the X axis.
Pre-multiply a rotation around the X axis to this matrix by rotating the given amount of radians
about the X axis and store the result in dest
.
Pre-multiply a rotation to this matrix by rotating the given amount of radians about the Y axis.
Pre-multiply a rotation around the Y axis to this matrix by rotating the given amount of radians
about the Y axis and store the result in dest
.
Pre-multiply a rotation to this matrix by rotating the given amount of radians about the Z axis.
Pre-multiply a rotation around the Z axis to this matrix by rotating the given amount of radians
about the Z axis and store the result in dest
.
Matrix4x3f.rotateTowards(float dirX,
float dirY,
float dirZ,
float upX,
float upY,
float upZ)
Apply a model transformation to this matrix for a right-handed coordinate system,
that aligns the local +Z
axis with (dirX, dirY, dirZ)
.
Apply a model transformation to this matrix for a right-handed coordinate system,
that aligns the local +Z
axis with (dirX, dirY, dirZ)
and store the result in dest
.
Apply a model transformation to this matrix for a right-handed coordinate system,
that aligns the local +Z
axis with dir
.
Apply a model transformation to this matrix for a right-handed coordinate system,
that aligns the local +Z
axis with dir
and store the result in dest
.
Apply a model transformation to this matrix for a right-handed coordinate system,
that aligns the local +Z
axis with (dirX, dirY, dirZ)
and store the result in dest
.
Apply a model transformation to this matrix for a right-handed coordinate system,
that aligns the local +Z
axis with dir
and store the result in dest
.
Apply rotation to this matrix, which is assumed to only contain a translation, by rotating the given amount of radians
about the specified (x, y, z)
axis and store the result in dest
.
Apply the rotation - and possibly scaling - transformation of the given
Quaternionfc
to this matrix, which is assumed to only contain a translation, and store
the result in
dest
.
Apply rotation to this matrix, which is assumed to only contain a translation, by rotating the given amount of radians
about the specified (x, y, z)
axis and store the result in dest
.
Apply the rotation - and possibly scaling - transformation of the given
Quaternionfc
to this matrix, which is assumed to only contain a translation, and store
the result in
dest
.
Apply rotation about the X axis to this matrix by rotating the given amount of radians.
Apply rotation about the X axis to this matrix by rotating the given amount of radians
and store the result in dest
.
Matrix4x3f.rotateXYZ(float angleX,
float angleY,
float angleZ)
Apply rotation of angleX
radians about the X axis, followed by a rotation of angleY
radians about the Y axis and
followed by a rotation of angleZ
radians about the Z axis.
Apply rotation of angles.x
radians about the X axis, followed by a rotation of angles.y
radians about the Y axis and
followed by a rotation of angles.z
radians about the Z axis.
Apply rotation of angleX
radians about the X axis, followed by a rotation of angleY
radians about the Y axis and
followed by a rotation of angleZ
radians about the Z axis and store the result in dest
.
Apply rotation about the Y axis to this matrix by rotating the given amount of radians.
Apply rotation about the Y axis to this matrix by rotating the given amount of radians
and store the result in dest
.
Matrix4x3f.rotateYXZ(float angleY,
float angleX,
float angleZ)
Apply rotation of angleY
radians about the Y axis, followed by a rotation of angleX
radians about the X axis and
followed by a rotation of angleZ
radians about the Z axis.
Apply rotation of angles.y
radians about the Y axis, followed by a rotation of angles.x
radians about the X axis and
followed by a rotation of angles.z
radians about the Z axis.
Apply rotation of angleY
radians about the Y axis, followed by a rotation of angleX
radians about the X axis and
followed by a rotation of angleZ
radians about the Z axis and store the result in dest
.
Apply rotation about the Z axis to this matrix by rotating the given amount of radians.
Apply rotation about the Z axis to this matrix by rotating the given amount of radians
and store the result in dest
.
Matrix4x3f.rotateZYX(float angleZ,
float angleY,
float angleX)
Apply rotation of angleZ
radians about the Z axis, followed by a rotation of angleY
radians about the Y axis and
followed by a rotation of angleX
radians about the X axis.
Apply rotation of angles.z
radians about the Z axis, followed by a rotation of angles.y
radians about the Y axis and
followed by a rotation of angles.x
radians about the X axis.
Apply rotation of angleZ
radians about the Z axis, followed by a rotation of angleY
radians about the Y axis and
followed by a rotation of angleX
radians about the X axis and store the result in dest
.
Matrix4x3f.rotation(float angle,
float x,
float y,
float z)
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 transformation using the given
AxisAngle4f
.
Set this matrix to the rotation - and possibly scaling - transformation of the given
Quaternionfc
.
Set this matrix to a transformation composed of a rotation of the specified
Quaternionfc
while using
(ox, oy, oz)
as the rotation origin.
Matrix4x3f.rotationTowards(float dirX,
float dirY,
float dirZ,
float upX,
float upY,
float upZ)
Set this matrix to a model transformation for a right-handed coordinate system,
that aligns the local -z
axis with (dirX, dirY, dirZ)
.
Set this matrix to a model transformation for a right-handed coordinate system,
that aligns the local -z
axis with dir
.
Set this matrix to a rotation transformation about the X axis.
Matrix4x3f.rotationXYZ(float angleX,
float angleY,
float angleZ)
Set this matrix to a rotation of angleX
radians about the X axis, followed by a rotation
of angleY
radians about the Y axis and followed by a rotation of angleZ
radians about the Z axis.
Set this matrix to a rotation transformation about the Y axis.
Matrix4x3f.rotationYXZ(float angleY,
float angleX,
float angleZ)
Set this matrix to a rotation of angleY
radians about the Y axis, followed by a rotation
of angleX
radians about the X axis and followed by a rotation of angleZ
radians about the Z axis.
Set this matrix to a rotation transformation about the Z axis.
Matrix4x3f.rotationZYX(float angleZ,
float angleY,
float angleX)
Set this matrix to a rotation of angleZ
radians about the Z axis, followed by a rotation
of angleY
radians about the Y axis and followed by a rotation of angleX
radians about the X axis.
Matrix4x3f.scale(float xyz)
Apply scaling to this matrix by uniformly scaling all base axes by the given xyz
factor.
Matrix4x3f.scale(float x,
float y,
float z)
Apply scaling to this matrix by scaling the base axes by the given x,
y and z factors.
Apply scaling to this matrix by scaling the base axes by the given xyz.x
,
xyz.y
and xyz.z
factors, respectively.
Apply scaling to this
matrix by scaling the base axes by the given x,
y and z factors and store the result in dest
.
Apply scaling to this matrix by uniformly scaling all base axes by the given xyz
factor
and store the result in dest
.
Apply scaling to this
matrix by scaling the base axes by the given xyz.x
,
xyz.y
and xyz.z
factors, respectively and store the result in dest
.
Matrix4x3f.scaleAround(float factor,
float ox,
float oy,
float oz)
Apply scaling to this matrix by scaling all three base axes by the given factor
while using (ox, oy, oz)
as the scaling origin.
Matrix4x3f.scaleAround(float sx,
float sy,
float sz,
float ox,
float oy,
float oz)
Apply scaling to this matrix by scaling the base axes by the given sx,
sy and sz factors while using (ox, oy, oz)
as the scaling origin.
Apply scaling to this
matrix by scaling the base axes by the given sx,
sy and sz factors while using (ox, oy, oz)
as the scaling origin,
and store the result in dest
.
Apply scaling to this matrix by scaling all three base axes by the given factor
while using (ox, oy, oz)
as the scaling origin,
and store the result in dest
.
Pre-multiply scaling to this matrix by scaling the base axes by the given x,
y and z factors.
Pre-multiply scaling to this
matrix by scaling the base axes by the given x,
y and z factors and store the result in dest
.
Matrix4x3f.scaleXY(float x,
float y)
Apply scaling to this matrix by scaling the X axis by x
and the Y axis by y
.
Apply scaling to this matrix by by scaling the X axis by x
and the Y axis by y
and store the result in dest
.
Set this matrix to be a simple scale matrix, which scales all axes uniformly by the given factor.
Matrix4x3f.scaling(float x,
float y,
float z)
Set this matrix to be a simple scale matrix.
Set this matrix to be a simple scale matrix which scales the base axes by xyz.x
, xyz.y
and xyz.z
respectively.
Matrix4x3f.set(float[] m)
Set the values in the matrix using a float array that contains the matrix elements in column-major order.
Matrix4x3f.set(float[] m,
int off)
Set the values in the matrix using a float array that contains the matrix elements in column-major order.
Matrix4x3f.set(float m00,
float m01,
float m02,
float m10,
float m11,
float m12,
float m20,
float m21,
float m22,
float m30,
float m31,
float m32)
Set the values within this matrix to the supplied float values.
Set the values of this matrix by reading 12 float values from the given
ByteBuffer
in column-major order,
starting at the specified absolute buffer position/index.
Set the values of this matrix by reading 12 float values from the given
FloatBuffer
in column-major order,
starting at the specified absolute buffer position/index.
Set the values of this matrix by reading 12 float values from the given
ByteBuffer
in column-major order,
starting at its current position.
Set the values of this matrix by reading 12 float values from the given
FloatBuffer
in column-major order,
starting at its current position.
Set this matrix to be equivalent to the rotation specified by the given
AxisAngle4d
.
Set this matrix to be equivalent to the rotation specified by the given
AxisAngle4f
.
Store the values of the upper 4x3 submatrix of m
into this
matrix.
Store the values of the given matrix m
into this
matrix.
Set this matrix to be equivalent to the rotation - and possibly scaling - specified by the given
Quaterniondc
.
Set this matrix to be equivalent to the rotation - and possibly scaling - specified by the given
Quaternionfc
.
Set the four columns of this matrix to the supplied vectors, respectively.
Set the left 3x3 submatrix of this
Matrix4x3f
to the given
Matrix3fc
and don't change the other elements.
Set the left 3x3 submatrix of this
Matrix4x3f
to that of the given
Matrix4x3fc
and don't change the other elements.
Set the column at the given column
index, starting with 0
.
Set the values of this matrix by reading 12 float values from off-heap memory in column-major order,
starting at the given address.
Matrix4x3f.setLookAlong(float dirX,
float dirY,
float dirZ,
float upX,
float upY,
float upZ)
Set this matrix to a rotation transformation to make -z
point along dir
.
Set this matrix to a rotation transformation to make -z
point along dir
.
Matrix4x3f.setLookAt(float eyeX,
float eyeY,
float eyeZ,
float centerX,
float centerY,
float centerZ,
float upX,
float upY,
float upZ)
Set this matrix to be a "lookat" transformation for a right-handed coordinate system,
that aligns -z
with center - eye
.
Set this matrix to be a "lookat" transformation for a right-handed coordinate system, that aligns
-z
with center - eye
.
Matrix4x3f.setLookAtLH(float eyeX,
float eyeY,
float eyeZ,
float centerX,
float centerY,
float centerZ,
float upX,
float upY,
float upZ)
Set this matrix to be a "lookat" transformation for a left-handed coordinate system,
that aligns +z
with center - eye
.
Set this matrix to be a "lookat" transformation for a left-handed coordinate system, that aligns
+z
with center - eye
.
Matrix4x3f.setOrtho(float left,
float right,
float bottom,
float top,
float zNear,
float zFar)
Set this matrix to be an orthographic projection transformation for a right-handed coordinate system
using OpenGL's NDC z range of [-1..+1]
.
Matrix4x3f.setOrtho(float left,
float right,
float bottom,
float top,
float zNear,
float zFar,
boolean zZeroToOne)
Set this matrix to be an orthographic projection transformation for a right-handed coordinate system
using the given NDC z range.
Matrix4x3f.setOrtho2D(float left,
float right,
float bottom,
float top)
Set this matrix to be an orthographic projection transformation for a right-handed coordinate system.
Matrix4x3f.setOrtho2DLH(float left,
float right,
float bottom,
float top)
Set this matrix to be an orthographic projection transformation for a left-handed coordinate system.
Matrix4x3f.setOrthoLH(float left,
float right,
float bottom,
float top,
float zNear,
float zFar)
Set this matrix to be an orthographic projection transformation for a left-handed coordinate system
using OpenGL's NDC z range of [-1..+1]
.
Matrix4x3f.setOrthoLH(float left,
float right,
float bottom,
float top,
float zNear,
float zFar,
boolean zZeroToOne)
Set this matrix to be an orthographic projection transformation for a left-handed coordinate system
using the given NDC z range.
Set this matrix to be a symmetric orthographic projection transformation for a right-handed coordinate system
using OpenGL's NDC z range of [-1..+1]
.
Matrix4x3f.setOrthoSymmetric(float width,
float height,
float zNear,
float zFar,
boolean zZeroToOne)
Set this matrix to be a symmetric orthographic projection transformation for a right-handed coordinate system using the given NDC z range.
Set this matrix to be a symmetric orthographic projection transformation for a left-handed coordinate system
using OpenGL's NDC z range of [-1..+1]
.
Matrix4x3f.setOrthoSymmetricLH(float width,
float height,
float zNear,
float zFar,
boolean zZeroToOne)
Set this matrix to be a symmetric orthographic projection transformation for a left-handed coordinate system using the given NDC z range.
Set only the left 3x3 submatrix of this matrix to a rotation of angleX
radians about the X axis, followed by a rotation
of angleY
radians about the Y axis and followed by a rotation of angleZ
radians about the Z axis.
Set only the left 3x3 submatrix of this matrix to a rotation of angleY
radians about the Y axis, followed by a rotation
of angleX
radians about the X axis and followed by a rotation of angleZ
radians about the Z axis.
Set only the left 3x3 submatrix of this matrix to a rotation of angleZ
radians about the Z axis, followed by a rotation
of angleY
radians about the Y axis and followed by a rotation of angleX
radians about the X axis.
Set the row at the given row
index, starting with 0
.
Set only the translation components (m30, m31, m32)
of this matrix to the given values (x, y, z)
.
Set only the translation components (m30, m31, m32)
of this matrix to the values (xyz.x, xyz.y, xyz.z)
.
Matrix4x3f.shadow(float lightX,
float lightY,
float lightZ,
float lightW,
float a,
float b,
float c,
float d)
Apply a projection transformation to this matrix that projects onto the plane specified via the general plane equation
x*a + y*b + z*c + d = 0
as if casting a shadow from a given light position/direction (lightX, lightY, lightZ, lightW)
.
Matrix4x3f.shadow(float lightX,
float lightY,
float lightZ,
float lightW,
float a,
float b,
float c,
float d,
Matrix4x3f dest)
Matrix4x3f.shadow(float lightX,
float lightY,
float lightZ,
float lightW,
Matrix4x3f planeTransform)
Apply a projection transformation to this matrix that projects onto the plane with the general plane equation
y = 0
as if casting a shadow from a given light position/direction (lightX, lightY, lightZ, lightW)
.
Apply a projection transformation to this matrix that projects onto the plane specified via the general plane equation
x*a + y*b + z*c + d = 0
as if casting a shadow from a given light position/direction light
.
Apply a projection transformation to this matrix that projects onto the plane with the general plane equation
y = 0
as if casting a shadow from a given light position/direction light
.
Matrix4x3fc.shadow(float lightX,
float lightY,
float lightZ,
float lightW,
float a,
float b,
float c,
float d,
Matrix4x3f dest)
Apply a projection transformation to this matrix that projects onto the plane specified via the general plane equation
x*a + y*b + z*c + d = 0
as if casting a shadow from a given light position/direction (lightX, lightY, lightZ, lightW)
and store the result in dest
.
Apply a projection transformation to this matrix that projects onto the plane with the general plane equation
y = 0
as if casting a shadow from a given light position/direction (lightX, lightY, lightZ, lightW)
and store the result in dest
.
Apply a projection transformation to this matrix that projects onto the plane specified via the general plane equation
x*a + y*b + z*c + d = 0
as if casting a shadow from a given light position/direction light
and store the result in dest
.
Apply a projection transformation to this matrix that projects onto the plane with the general plane equation
y = 0
as if casting a shadow from a given light position/direction light
and store the result in dest
.
Component-wise subtract subtrahend
from this
.
Component-wise subtract subtrahend
from this
and store the result in dest
.
Exchange the values of this
matrix with the given other
matrix.
Transform the axis-aligned box given as the minimum corner (minX, minY, minZ)
and maximum corner (maxX, maxY, maxZ)
by this
matrix and compute the axis-aligned box of the result whose minimum corner is stored in outMin
and maximum corner stored in outMax
.
Transform the axis-aligned box given as the minimum corner min
and maximum corner max
by this
matrix and compute the axis-aligned box of the result whose minimum corner is stored in outMin
and maximum corner stored in outMax
.
Matrix4x3f.translate(float x,
float y,
float z)
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 in dest
.
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 in dest
.
Apply a translation to this matrix by translating by the given number of
units in x, y and z and store the result in dest
.
Apply a translation to this matrix by translating by the given number of
units in x, y and z and store the result in dest
.
Pre-multiply a translation to this matrix by translating by the given number of
units in x, y and z.
Pre-multiply a translation to this matrix by translating by the given number of
units in x, y and z and store the result in dest
.
Pre-multiply a translation to this matrix by translating by the given number of
units in x, y and z.
Pre-multiply a translation to this matrix by translating by the given number of
units in x, y and z and store the result in 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 in 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 in dest
.
Set this matrix to be a simple translation matrix.
Set this matrix to be a simple translation matrix.
Matrix4x3f.translationRotate(float tx,
float ty,
float tz,
float qx,
float qy,
float qz,
float qw)
Set this
matrix to T * R
, where T
is a translation by the given (tx, ty, tz)
and
R
is a rotation - and possibly scaling - transformation specified by the quaternion (qx, qy, qz, qw)
.
Set this
matrix to T * R
, where T
is a translation by the given (tx, ty, tz)
and
R
is a rotation transformation specified by the given quaternion.
Set this
matrix to T * R
, where T
is the given translation
and
R
is a rotation transformation specified by the given quaternion.
Set this
matrix to (T * R)-1
, where T
is a translation by the given (tx, ty, tz)
and
R
is a rotation transformation specified by the quaternion (qx, qy, qz, qw)
.
Set this
matrix to (T * R)-1
, where T
is the given translation
and
R
is a rotation transformation specified by the given quaternion.
Set this
matrix to T * R * M
, where T
is a translation by the given (tx, ty, tz)
,
R
is a rotation - and possibly scaling - transformation specified by the quaternion (qx, qy, qz, qw)
and M
is the given matrix mat
Set this
matrix to T * R * M
, where T
is a translation by the given (tx, ty, tz)
,
R
is a rotation - and possibly scaling - transformation specified by the given quaternion and M
is the given matrix mat
.
Matrix4x3f.translationRotateScale(float tx,
float ty,
float tz,
float qx,
float qy,
float qz,
float qw,
float sx,
float sy,
float sz)
Set this
matrix to T * R * S
, where T
is a translation by the given (tx, ty, tz)
,
R
is a rotation transformation specified by the quaternion (qx, qy, qz, qw)
, and S
is a scaling transformation
which scales the three axes x, y and z by (sx, sy, sz)
.
Set this
matrix to T * R * S
, where T
is the given translation
,
R
is a rotation transformation specified by the given quaternion, and S
is a scaling transformation
which scales the axes by scale
.
Matrix4x3f.translationRotateScaleMul(float tx,
float ty,
float tz,
float qx,
float qy,
float qz,
float qw,
float sx,
float sy,
float sz,
Matrix4x3f m)
Set this
matrix to T * R * S * M
, where T
is a translation by the given (tx, ty, tz)
,
R
is a rotation transformation specified by the quaternion (qx, qy, qz, qw)
, S
is a scaling transformation
which scales the three axes x, y and z by (sx, sy, sz)
.
Set this
matrix to T * R * S * M
, where T
is the given translation
,
R
is a rotation transformation specified by the given quaternion, S
is a scaling transformation
which scales the axes by scale
.
Matrix4x3f.translationRotateTowards(float posX,
float posY,
float posZ,
float dirX,
float dirY,
float dirZ,
float upX,
float upY,
float upZ)
Set this matrix to a model transformation for a right-handed coordinate system,
that translates to the given (posX, posY, posZ)
and aligns the local -z
axis with (dirX, dirY, dirZ)
.
Set this matrix to a model transformation for a right-handed coordinate system,
that translates to the given pos
and aligns the local -z
axis with dir
.
Transpose only the left 3x3 submatrix of this matrix and set the rest of the matrix elements to identity.
Transpose only the left 3x3 submatrix of this matrix and store the result in dest
.
Apply a transformation to this matrix to ensure that the local Y axis (as obtained by
positiveY(Vector3f)
)
will be coplanar to the plane spanned by the local Z axis (as obtained by
positiveZ(Vector3f)
) and the
given vector
(upX, upY, upZ)
.
Apply a transformation to this matrix to ensure that the local Y axis (as obtained by
positiveY(Vector3f)
)
will be coplanar to the plane spanned by the local Z axis (as obtained by
positiveZ(Vector3f)
) and the
given vector
up
.
Set all the values within this matrix to 0
.
Component-wise add this
and other
and store the result in dest
.
Matrix4x3f.arcball(float radius,
float centerX,
float centerY,
float centerZ,
float angleX,
float angleY,
Matrix4x3f dest)
Matrix4x3fc.arcball(float radius,
float centerX,
float centerY,
float centerZ,
float angleX,
float angleY,
Matrix4x3f dest)
Apply an arcball view transformation to this matrix with the given radius
and center (centerX, centerY, centerZ)
position of the arcball and the specified X and Y rotation angles, and store the result in dest
.
Apply an arcball view transformation to this matrix with the given radius
and center
position of the arcball and the specified X and Y rotation angles, and store the result in dest
.
Compute the cofactor matrix of the left 3x3 submatrix of this
and store it into dest
.
Compute the cofactor matrix of the left 3x3 submatrix of this
and store it into dest
.
Component-wise add this
and other
by first multiplying each component of other
by otherFactor
,
adding that to this
and storing the final result in dest
.
Get the current values of this
matrix and store them into
dest
.
Get the current values of this
matrix and store them into
dest
.
Set the given destination matrix to the rotation represented by this
.
Get the current values of the upper 4x3 submatrix of this
matrix and store them into
dest
.
Invert this matrix and write the result into dest
.
Invert this
orthographic projection matrix and store the result into the given dest
.
Linearly interpolate this
and other
using the given interpolation factor t
and store the result in dest
.
Matrix4x3f.lookAlong(float dirX,
float dirY,
float dirZ,
float upX,
float upY,
float upZ,
Matrix4x3f dest)
Apply a rotation transformation to this matrix to make -z
point along dir
and store the result in dest
.
Apply a rotation transformation to this matrix to make -z
point along dir
and store the result in dest
.
Matrix4x3fc.lookAlong(float dirX,
float dirY,
float dirZ,
float upX,
float upY,
float upZ,
Matrix4x3f dest)
Apply a rotation transformation to this matrix to make -z
point along dir
and store the result in dest
.
Apply a rotation transformation to this matrix to make -z
point along dir
and store the result in dest
.
Matrix4x3f.lookAt(float eyeX,
float eyeY,
float eyeZ,
float centerX,
float centerY,
float centerZ,
float upX,
float upY,
float upZ,
Matrix4x3f dest)
Apply a "lookat" transformation to this matrix for a right-handed coordinate system,
that aligns -z
with center - eye
and store the result in dest
.
Apply a "lookat" transformation to this matrix for a right-handed coordinate system,
that aligns -z
with center - eye
and store the result in dest
.
Matrix4x3fc.lookAt(float eyeX,
float eyeY,
float eyeZ,
float centerX,
float centerY,
float centerZ,
float upX,
float upY,
float upZ,
Matrix4x3f dest)
Apply a "lookat" transformation to this matrix for a right-handed coordinate system,
that aligns -z
with center - eye
and store the result in dest
.
Apply a "lookat" transformation to this matrix for a right-handed coordinate system,
that aligns -z
with center - eye
and store the result in dest
.
Matrix4x3f.lookAtLH(float eyeX,
float eyeY,
float eyeZ,
float centerX,
float centerY,
float centerZ,
float upX,
float upY,
float upZ,
Matrix4x3f dest)
Apply a "lookat" transformation to this matrix for a left-handed coordinate system,
that aligns +z
with center - eye
and store the result in dest
.
Apply a "lookat" transformation to this matrix for a left-handed coordinate system,
that aligns +z
with center - eye
and store the result in dest
.
Matrix4x3fc.lookAtLH(float eyeX,
float eyeY,
float eyeZ,
float centerX,
float centerY,
float centerZ,
float upX,
float upY,
float upZ,
Matrix4x3f dest)
Apply a "lookat" transformation to this matrix for a left-handed coordinate system,
that aligns +z
with center - eye
and store the result in dest
.
Apply a "lookat" transformation to this matrix for a left-handed coordinate system,
that aligns +z
with center - eye
and store the result in dest
.
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this matrix by the supplied right
matrix and store the result in dest
.
Matrix4x3f.mul3x3(float rm00,
float rm01,
float rm02,
float rm10,
float rm11,
float rm12,
float rm20,
float rm21,
float rm22,
Matrix4x3f dest)
Matrix4x3fc.mul3x3(float rm00,
float rm01,
float rm02,
float rm10,
float rm11,
float rm12,
float rm20,
float rm21,
float rm22,
Matrix4x3f dest)
Multiply this
by the 4x3 matrix with the column vectors (rm00, rm01, rm02)
,
(rm10, rm11, rm12)
, (rm20, rm21, rm22)
and (0, 0, 0)
and store the result in dest
.
Component-wise multiply this
by other
and store the result in dest
.
Multiply this
orthographic projection matrix by the supplied view
matrix
and store the result in dest
.
Multiply this matrix, which is assumed to only contain a translation, by the supplied right
matrix and store the result in dest
.
Multiply this
by the matrix
Multiply this
by the matrix
Multiply this
by the matrix
Compute a normal matrix from the left 3x3 submatrix of this
and store it into the left 3x3 submatrix of dest
.
Compute a normal matrix from the left 3x3 submatrix of this
and store it into the left 3x3 submatrix of dest
.
Normalize the left 3x3 submatrix of this matrix and store the result in dest
.
Apply an oblique projection transformation to this matrix with the given values for a
and
b
and store the result in dest
.
Apply an oblique projection transformation to this matrix with the given values for a
and
b
and store the result in dest
.
Matrix4x3f.ortho(float left,
float right,
float bottom,
float top,
float zNear,
float zFar,
boolean zZeroToOne,
Matrix4x3f dest)
Apply an orthographic projection transformation for a right-handed coordinate system
using the given NDC z range to this matrix and store the result in dest
.
Matrix4x3f.ortho(float left,
float right,
float bottom,
float top,
float zNear,
float zFar,
Matrix4x3f dest)
Apply an orthographic projection transformation for a right-handed coordinate system
using OpenGL's NDC z range of [-1..+1]
to this matrix and store the result in dest
.
Matrix4x3fc.ortho(float left,
float right,
float bottom,
float top,
float zNear,
float zFar,
boolean zZeroToOne,
Matrix4x3f dest)
Apply an orthographic projection transformation for a right-handed coordinate system
using the given NDC z range to this matrix and store the result in dest
.
Matrix4x3fc.ortho(float left,
float right,
float bottom,
float top,
float zNear,
float zFar,
Matrix4x3f dest)
Apply an orthographic projection transformation for a right-handed coordinate system
using OpenGL's NDC z range of [-1..+1]
to this matrix and store the result in dest
.
Matrix4x3f.ortho2D(float left,
float right,
float bottom,
float top,
Matrix4x3f dest)
Apply an orthographic projection transformation for a right-handed coordinate system to this matrix
and store the result in dest
.
Matrix4x3fc.ortho2D(float left,
float right,
float bottom,
float top,
Matrix4x3f dest)
Apply an orthographic projection transformation for a right-handed coordinate system to this matrix
and store the result in dest
.
Apply an orthographic projection transformation for a left-handed coordinate system to this matrix and store the result in dest
.
Apply an orthographic projection transformation for a left-handed coordinate system to this matrix and store the result in dest
.
Matrix4x3f.orthoLH(float left,
float right,
float bottom,
float top,
float zNear,
float zFar,
boolean zZeroToOne,
Matrix4x3f dest)
Apply an orthographic projection transformation for a left-handed coordiante system
using the given NDC z range to this matrix and store the result in dest
.
Matrix4x3f.orthoLH(float left,
float right,
float bottom,
float top,
float zNear,
float zFar,
Matrix4x3f dest)
Apply an orthographic projection transformation for a left-handed coordiante system
using OpenGL's NDC z range of [-1..+1]
to this matrix and store the result in dest
.
Matrix4x3fc.orthoLH(float left,
float right,
float bottom,
float top,
float zNear,
float zFar,
boolean zZeroToOne,
Matrix4x3f dest)
Apply an orthographic projection transformation for a left-handed coordiante system
using the given NDC z range to this matrix and store the result in dest
.
Matrix4x3fc.orthoLH(float left,
float right,
float bottom,
float top,
float zNear,
float zFar,
Matrix4x3f dest)
Apply an orthographic projection transformation for a left-handed coordiante system
using OpenGL's NDC z range of [-1..+1]
to this matrix and store the result in dest
.
Apply a symmetric orthographic projection transformation for a right-handed coordinate system
using the given NDC z range to this matrix and store the result in dest
.
Apply a symmetric orthographic projection transformation for a right-handed coordinate system
using OpenGL's NDC z range of [-1..+1]
to this matrix and store the result in dest
.
Apply a symmetric orthographic projection transformation for a right-handed coordinate system
using the given NDC z range to this matrix and store the result in dest
.
Apply a symmetric orthographic projection transformation for a right-handed coordinate system
using OpenGL's NDC z range of [-1..+1]
to this matrix and store the result in dest
.
Apply a symmetric orthographic projection transformation for a left-handed coordinate system
using the given NDC z range to this matrix and store the result in dest
.
Apply a symmetric orthographic projection transformation for a left-handed coordinate system
using OpenGL's NDC z range of [-1..+1]
to this matrix and store the result in dest
.
Apply a symmetric orthographic projection transformation for a left-handed coordinate system
using the given NDC z range to this matrix and store the result in dest
.
Apply a symmetric orthographic projection transformation for a left-handed coordinate system
using OpenGL's NDC z range of [-1..+1]
to this matrix and store the result in dest
.
Matrix4x3f.pick(float x,
float y,
float width,
float height,
int[] viewport,
Matrix4x3f dest)
Matrix4x3fc.pick(float x,
float y,
float width,
float height,
int[] viewport,
Matrix4x3f dest)
Apply a picking transformation to this matrix using the given window coordinates (x, y)
as the pick center
and the given (width, height)
as the size of the picking region in window coordinates, and store the result
in dest
.
Matrix4x3f.reflect(float nx,
float ny,
float nz,
float px,
float py,
float pz,
Matrix4x3f dest)
Matrix4x3fc.reflect(float nx,
float ny,
float nz,
float px,
float py,
float pz,
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 in dest
.
Apply a mirror/reflection transformation to this matrix that reflects about the given plane
specified via the equation x*a + y*b + z*c + d = 0
and store the result in 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 in 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 in dest
.
Apply rotation to this matrix by rotating the given amount of radians
about the specified (x, y, z)
axis and store the result in dest
.
Apply a rotation transformation, rotating the given radians about the specified axis and store the result in dest
.
Apply a rotation transformation, rotating about the given
AxisAngle4f
and store the result in
dest
.
Apply the rotation - and possibly scaling - transformation of the given
Quaternionfc
to this matrix and store
the result in
dest
.
Apply rotation to this matrix by rotating the given amount of radians
about the specified (x, y, z)
axis and store the result in dest
.
Apply a rotation transformation, rotating the given radians about the specified axis and store the result in dest
.
Apply a rotation transformation, rotating about the given
AxisAngle4f
and store the result in
dest
.
Apply the rotation - and possibly scaling - transformation of the given
Quaternionfc
to this matrix and store
the result in
dest
.
Apply the rotation - and possibly scaling - transformation of the given
Quaternionfc
to this matrix while using
(ox, oy, oz)
as the rotation origin,
and store the result in
dest
.
Pre-multiply a rotation to this matrix by rotating the given amount of radians
about the specified (x, y, z)
axis and store the result in dest
.
Pre-multiply the rotation - and possibly scaling - transformation of the given
Quaternionfc
to this matrix and store
the result in
dest
.
Pre-multiply a rotation to this matrix by rotating the given amount of radians
about the specified (x, y, z)
axis and store the result in dest
.
Pre-multiply the rotation - and possibly scaling - transformation of the given
Quaternionfc
to this matrix and store
the result in
dest
.
Pre-multiply a rotation around the X axis to this matrix by rotating the given amount of radians
about the X axis and store the result in dest
.
Pre-multiply a rotation around the Y axis to this matrix by rotating the given amount of radians
about the Y axis and store the result in dest
.
Pre-multiply a rotation around the Z axis to this matrix by rotating the given amount of radians
about the Z axis and store the result in dest
.
Apply a model transformation to this matrix for a right-handed coordinate system,
that aligns the local +Z
axis with (dirX, dirY, dirZ)
and store the result in dest
.
Apply a model transformation to this matrix for a right-handed coordinate system,
that aligns the local +Z
axis with dir
and store the result in dest
.
Apply a model transformation to this matrix for a right-handed coordinate system,
that aligns the local +Z
axis with (dirX, dirY, dirZ)
and store the result in dest
.
Apply a model transformation to this matrix for a right-handed coordinate system,
that aligns the local +Z
axis with dir
and store the result in dest
.
Apply rotation to this matrix, which is assumed to only contain a translation, by rotating the given amount of radians
about the specified (x, y, z)
axis and store the result in dest
.
Apply the rotation - and possibly scaling - transformation of the given
Quaternionfc
to this matrix, which is assumed to only contain a translation, and store
the result in
dest
.
Apply rotation to this matrix, which is assumed to only contain a translation, by rotating the given amount of radians
about the specified (x, y, z)
axis and store the result in dest
.
Apply the rotation - and possibly scaling - transformation of the given
Quaternionfc
to this matrix, which is assumed to only contain a translation, and store
the result in
dest
.
Apply rotation about the X axis to this matrix by rotating the given amount of radians
and store the result in dest
.
Apply rotation of angleX
radians about the X axis, followed by a rotation of angleY
radians about the Y axis and
followed by a rotation of angleZ
radians about the Z axis and store the result in dest
.
Apply rotation about the Y axis to this matrix by rotating the given amount of radians
and store the result in dest
.
Apply rotation of angleY
radians about the Y axis, followed by a rotation of angleX
radians about the X axis and
followed by a rotation of angleZ
radians about the Z axis and store the result in dest
.
Apply rotation about the Z axis to this matrix by rotating the given amount of radians
and store the result in dest
.
Apply rotation of angleZ
radians about the Z axis, followed by a rotation of angleY
radians about the Y axis and
followed by a rotation of angleX
radians about the X axis and store the result in dest
.
Apply scaling to this
matrix by scaling the base axes by the given x,
y and z factors and store the result in dest
.
Apply scaling to this matrix by uniformly scaling all base axes by the given xyz
factor
and store the result in dest
.
Apply scaling to this
matrix by scaling the base axes by the given xyz.x
,
xyz.y
and xyz.z
factors, respectively and store the result in dest
.
Apply scaling to this
matrix by scaling the base axes by the given sx,
sy and sz factors while using (ox, oy, oz)
as the scaling origin,
and store the result in dest
.
Apply scaling to this matrix by scaling all three base axes by the given factor
while using (ox, oy, oz)
as the scaling origin,
and store the result in dest
.
Pre-multiply scaling to this
matrix by scaling the base axes by the given x,
y and z factors and store the result in dest
.
Apply scaling to this matrix by by scaling the X axis by x
and the Y axis by y
and store the result in dest
.
Matrix4x3f.shadow(float lightX,
float lightY,
float lightZ,
float lightW,
float a,
float b,
float c,
float d,
Matrix4x3f dest)
Matrix4x3f.shadow(float lightX,
float lightY,
float lightZ,
float lightW,
Matrix4x3f planeTransform)
Apply a projection transformation to this matrix that projects onto the plane with the general plane equation
y = 0
as if casting a shadow from a given light position/direction (lightX, lightY, lightZ, lightW)
.
Matrix4x3fc.shadow(float lightX,
float lightY,
float lightZ,
float lightW,
float a,
float b,
float c,
float d,
Matrix4x3f dest)
Apply a projection transformation to this matrix that projects onto the plane specified via the general plane equation
x*a + y*b + z*c + d = 0
as if casting a shadow from a given light position/direction (lightX, lightY, lightZ, lightW)
and store the result in dest
.
Apply a projection transformation to this matrix that projects onto the plane with the general plane equation
y = 0
as if casting a shadow from a given light position/direction (lightX, lightY, lightZ, lightW)
and store the result in dest
.
Apply a projection transformation to this matrix that projects onto the plane specified via the general plane equation
x*a + y*b + z*c + d = 0
as if casting a shadow from a given light position/direction light
and store the result in dest
.
Apply a projection transformation to this matrix that projects onto the plane with the general plane equation
y = 0
as if casting a shadow from a given light position/direction light
and store the result in dest
.
Component-wise subtract subtrahend
from this
and store the result in dest
.
Exchange the values of this
matrix with the given other
matrix.
Apply a translation to this matrix by translating by the given number of
units in x, y and z and store the result in dest
.
Apply a translation to this matrix by translating by the given number of
units in x, y and z and store the result in dest
.
Apply a translation to this matrix by translating by the given number of
units in x, y and z and store the result in dest
.
Apply a translation to this matrix by translating by the given number of
units in x, y and z and store the result in 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 in 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 in 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 in 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 in dest
.
Matrix4x3f.translationRotateScaleMul(float tx,
float ty,
float tz,
float qx,
float qy,
float qz,
float qw,
float sx,
float sy,
float sz,
Matrix4x3f m)
Set this
matrix to T * R * S * M
, where T
is a translation by the given (tx, ty, tz)
,
R
is a rotation transformation specified by the quaternion (qx, qy, qz, qw)
, S
is a scaling transformation
which scales the three axes x, y and z by (sx, sy, sz)
.
Set this
matrix to T * R * S * M
, where T
is the given translation
,
R
is a rotation transformation specified by the given quaternion, S
is a scaling transformation
which scales the axes by scale
.
Transpose only the left 3x3 submatrix of this matrix and store the result in dest
.