Package com.jogamp.opengl.math
Class Matrix4
java.lang.Object
com.jogamp.opengl.math.Matrix4
Simple float array-backed float 4x4 matrix
exposing
FloatUtil
matrix functionality in an object oriented manner.
Unlike PMVMatrix
, this class only represents one single matrix
without a complete GLMatrixFunc
implementation,
allowing this class to be more lightweight.
Implementation is not mature - WIP and subject to change.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal float
final float[]
final boolean
invert()
final void
final void
makeFrustum
(float left, float right, float bottom, float top, float zNear, float zFar) final void
makeOrtho
(float left, float right, float bottom, float top, float zNear, float zFar) final void
makePerspective
(float fovy_rad, float aspect, float zNear, float zFar) final void
multMatrix
(float[] m) Multiply matrix: [this] = [this] x [m]final void
multMatrix
(float[] m, int m_offset) Multiply matrix: [this] = [this] x [m]final void
Multiply matrix: [this] = [this] x [m]final void
multVec
(float[] v_in, float[] v_out) final void
multVec
(float[] v_in, int v_in_offset, float[] v_out, int v_out_offset) final void
rotate
(float angrad, float x, float y, float z) final void
rotate
(Quaternion quat) Rotate the current matrix with the givenQuaternion
's rotationmatrix representation
.final void
scale
(float x, float y, float z) final void
translate
(float x, float y, float z) final void
-
Constructor Details
-
Matrix4
public Matrix4()
-
-
Method Details
-
getMatrix
public final float[] getMatrix() -
loadIdentity
public final void loadIdentity() -
multMatrix
public final void multMatrix(float[] m, int m_offset) Multiply matrix: [this] = [this] x [m]- Parameters:
m
- 4x4 matrix in column-major order
-
multMatrix
public final void multMatrix(float[] m) Multiply matrix: [this] = [this] x [m]- Parameters:
m
- 4x4 matrix in column-major order
-
multMatrix
Multiply matrix: [this] = [this] x [m]- Parameters:
m
- 4x4 matrix in column-major order
-
multVec
public final void multVec(float[] v_in, float[] v_out) - Parameters:
v_in
- 4-component column-vectorv_out
- this * v_in
-
multVec
public final void multVec(float[] v_in, int v_in_offset, float[] v_out, int v_out_offset) - Parameters:
v_in
- 4-component column-vectorv_out
- this * v_in
-
translate
public final void translate(float x, float y, float z) -
scale
public final void scale(float x, float y, float z) -
rotate
public final void rotate(float angrad, float x, float y, float z) -
rotate
Rotate the current matrix with the givenQuaternion
's rotationmatrix representation
. -
transpose
public final void transpose() -
determinant
public final float determinant() -
invert
public final boolean invert() -
makeOrtho
public final void makeOrtho(float left, float right, float bottom, float top, float zNear, float zFar) -
makeFrustum
public final void makeFrustum(float left, float right, float bottom, float top, float zNear, float zFar) throws GLException - Parameters:
left
-right
-bottom
-top
-zNear
-zFar
-- Throws:
GLException
- ifzNear <= 0
orzFar <= zNear
orleft == right
, orbottom == top
.- See Also:
-
makePerspective
public final void makePerspective(float fovy_rad, float aspect, float zNear, float zFar) throws GLException - Parameters:
fovy_rad
-aspect
-zNear
-zFar
-- Throws:
GLException
- ifzNear <= 0
orzFar <= zNear
- See Also:
-