Class ARBTransposeMatrix

java.lang.Object
org.lwjgl.opengl.ARBTransposeMatrix

public class ARBTransposeMatrix extends Object
Native bindings to the ARB_transpose_matrix extension.

New functions and tokens are added allowing application matrices stored in row major order rather than column major order to be transferred to the OpenGL implementation. This allows an application to use standard C-language 2-dimensional arrays (m[row][col]) and have the array indices match the expected matrix row and column indexes. These arrays are referred to as transpose matrices since they are the transpose of the standard matrices passed to OpenGL.

This extension adds an interface for transfering data to and from the OpenGL pipeline, it does not change any OpenGL processing or imply any changes in state representation.

Promoted to core in OpenGL 1.3.

  • Field Details

    • GL_TRANSPOSE_MODELVIEW_MATRIX_ARB

      public static final int GL_TRANSPOSE_MODELVIEW_MATRIX_ARB
      Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.
      See Also:
    • GL_TRANSPOSE_PROJECTION_MATRIX_ARB

      public static final int GL_TRANSPOSE_PROJECTION_MATRIX_ARB
      Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.
      See Also:
    • GL_TRANSPOSE_TEXTURE_MATRIX_ARB

      public static final int GL_TRANSPOSE_TEXTURE_MATRIX_ARB
      Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.
      See Also:
    • GL_TRANSPOSE_COLOR_MATRIX_ARB

      public static final int GL_TRANSPOSE_COLOR_MATRIX_ARB
      Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.
      See Also:
  • Method Details

    • nglLoadTransposeMatrixfARB

      public static void nglLoadTransposeMatrixfARB(long m)
      Unsafe version of: LoadTransposeMatrixfARB
    • glLoadTransposeMatrixfARB

      public static void glLoadTransposeMatrixfARB(FloatBuffer m)
      Sets the current matrix to a 4 × 4 matrix in row-major order.

      The matrix is stored as 16 consecutive values, i.e. as:

      a1a2a3a4
      a5a6a7a8
      a9a10a11a12
      a13a14a15a16
      Parameters:
      m - the matrix data
    • nglLoadTransposeMatrixdARB

      public static void nglLoadTransposeMatrixdARB(long m)
      Unsafe version of: LoadTransposeMatrixdARB
    • glLoadTransposeMatrixdARB

      public static void glLoadTransposeMatrixdARB(DoubleBuffer m)
      Double version of LoadTransposeMatrixfARB.
      Parameters:
      m - the matrix data
    • nglMultTransposeMatrixfARB

      public static void nglMultTransposeMatrixfARB(long m)
      Unsafe version of: MultTransposeMatrixfARB
    • glMultTransposeMatrixfARB

      public static void glMultTransposeMatrixfARB(FloatBuffer m)
      Multiplies the current matrix with a 4 × 4 matrix in row-major order. See LoadTransposeMatrixfARB for details.
      Parameters:
      m - the matrix data
    • nglMultTransposeMatrixdARB

      public static void nglMultTransposeMatrixdARB(long m)
      Unsafe version of: MultTransposeMatrixdARB
    • glMultTransposeMatrixdARB

      public static void glMultTransposeMatrixdARB(DoubleBuffer m)
      Double version of MultTransposeMatrixfARB.
      Parameters:
      m - the matrix data
    • glLoadTransposeMatrixfARB

      public static void glLoadTransposeMatrixfARB(float[] m)
      Array version of: LoadTransposeMatrixfARB
    • glLoadTransposeMatrixdARB

      public static void glLoadTransposeMatrixdARB(double[] m)
      Array version of: LoadTransposeMatrixdARB
    • glMultTransposeMatrixfARB

      public static void glMultTransposeMatrixfARB(float[] m)
      Array version of: MultTransposeMatrixfARB
    • glMultTransposeMatrixdARB

      public static void glMultTransposeMatrixdARB(double[] m)
      Array version of: MultTransposeMatrixdARB