Top Description Fields Constructors Methods
com.jogamp.opengl.math

public Class Matrix4

extends Object
Class Inheritance
Imports
com.jogamp.opengl.GLException, com.jogamp.opengl.fixedfunc.GLMatrixFunc, com.jogamp.opengl.util.PMVMatrix

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.

Field Summary

Modifier and TypeField and Description
private final float[]
private final float[]
private final float[]
private final float[]

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public final float
public final float[]
public final boolean
public final void
public final void
makeFrustum(final float left, final float right, final float bottom, final float top, final float zNear, final float zFar)

public final void
makeOrtho(final float left, final float right, final float bottom, final float top, final float zNear, final float zFar)

public final void
makePerspective(final float fovy_rad, final float aspect, final float zNear, final float zFar)

public final void
multMatrix(final float[]
4x4 matrix in column-major order
m
,
final int m_offset)

Multiply matrix: [this] = [this] x [m]

public final void
multMatrix(final float[]
4x4 matrix in column-major order
m
)

Multiply matrix: [this] = [this] x [m]

public final void
multMatrix(final Matrix4
4x4 matrix in column-major order
m
)

Multiply matrix: [this] = [this] x [m]

public final void
multVec(final float[]
4-component column-vector
v_in
,
final float[]
this * v_in
v_out
)

public final void
multVec(final float[]
4-component column-vector
v_in
,
final int v_in_offset, final float[]
this * v_in
v_out
,
final int v_out_offset)

public final void
rotate(final float angrad, final float x, final float y, final float z)

public final void
rotate(final Quaternion quat)

Rotate the current matrix with the given Quaternion's rotation matrix representation.

public final void
scale(final float x, final float y, final float z)

public final void
translate(final float x, final float y, final float z)

public final void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

mat4Tmp1back to summary
private final float[] mat4Tmp1
matrixback to summary
private final float[] matrix
matrixTxSxback to summary
private final float[] matrixTxSx
vec4Tmp1back to summary
private final float[] vec4Tmp1

Constructor Detail

Matrix4back to summary
public Matrix4()

Method Detail

determinantback to summary
public final float determinant()
getMatrixback to summary
public final float[] getMatrix()
invertback to summary
public final boolean invert()
loadIdentityback to summary
public final void loadIdentity()
makeFrustumback to summary
public final void makeFrustum(final float left, final float right, final float bottom, final float top, final float zNear, final float zFar) throws GLException
Exceptions
GLException:
if zNear <= 0 or zFar <= zNear or left == right, or bottom == top.
See Also
FloatUtil#makeFrustum(float[], int, boolean, float, float, float, float, float, float)
makeOrthoback to summary
public final void makeOrtho(final float left, final float right, final float bottom, final float top, final float zNear, final float zFar)
makePerspectiveback to summary
public final void makePerspective(final float fovy_rad, final float aspect, final float zNear, final float zFar) throws GLException
Exceptions
GLException:
if zNear <= 0 or zFar <= zNear
See Also
FloatUtil#makePerspective(float[], int, boolean, float, float, float, float)
multMatrixback to summary
public final void multMatrix(final float[] m, final int m_offset)

Multiply matrix: [this] = [this] x [m]

Parameters
m:float[]

4x4 matrix in column-major order

multMatrixback to summary
public final void multMatrix(final float[] m)

Multiply matrix: [this] = [this] x [m]

Parameters
m:float[]

4x4 matrix in column-major order

multMatrixback to summary
public final void multMatrix(final Matrix4 m)

Multiply matrix: [this] = [this] x [m]

Parameters
m:Matrix4

4x4 matrix in column-major order

multVecback to summary
public final void multVec(final float[] v_in, final float[] v_out)
Parameters
v_in:float[]

4-component column-vector

v_out:float[]

this * v_in

multVecback to summary
public final void multVec(final float[] v_in, final int v_in_offset, final float[] v_out, final int v_out_offset)
Parameters
v_in:float[]

4-component column-vector

v_out:float[]

this * v_in

rotateback to summary
public final void rotate(final float angrad, final float x, final float y, final float z)
rotateback to summary
public final void rotate(final Quaternion quat)

Rotate the current matrix with the given Quaternion's rotation matrix representation.

scaleback to summary
public final void scale(final float x, final float y, final float z)
translateback to summary
public final void translate(final float x, final float y, final float z)
transposeback to summary
public final void transpose()