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 floatfinal float[]final booleaninvert()final voidfinal voidmakeFrustum(float left, float right, float bottom, float top, float zNear, float zFar) final voidmakeOrtho(float left, float right, float bottom, float top, float zNear, float zFar) final voidmakePerspective(float fovy_rad, float aspect, float zNear, float zFar) final voidmultMatrix(float[] m) Multiply matrix: [this] = [this] x [m]final voidmultMatrix(float[] m, int m_offset) Multiply matrix: [this] = [this] x [m]final voidMultiply matrix: [this] = [this] x [m]final voidmultVec(float[] v_in, float[] v_out) final voidmultVec(float[] v_in, int v_in_offset, float[] v_out, int v_out_offset) final voidrotate(float angrad, float x, float y, float z) final voidrotate(Quaternion quat) Rotate the current matrix with the givenQuaternion's rotationmatrix representation.final voidscale(float x, float y, float z) final voidtranslate(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 <= 0orzFar <= zNearorleft == 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 <= 0orzFar <= zNear- See Also:
-