javax.media.opengl.fixedfunc

## Interface GLMatrixFunc

- All Known Subinterfaces:
    GL2, GL2ES1, GL3bc, GL4bc, GLES1
  All Known Implementing Classes:
    DebugGL2, DebugGL3, DebugGL3bc, DebugGL4, DebugGL4bc, DebugGLES1, PMVMatrix, TraceGL2, TraceGL3, TraceGL3bc, TraceGL4, TraceGL4bc, TraceGLES1

      public interface GLMatrixFunc

  Subset of OpenGL fixed function pipeline's matrix operations.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `GL_MATRIX_MODE`
    `static int` | `GL_MODELVIEW` Matrix mode modelview
    `static int` | `GL_MODELVIEW_MATRIX` Matrix access name for modelview
    `static int` | `GL_PROJECTION` Matrix mode projection
    `static int` | `GL_PROJECTION_MATRIX` Matrix access name for projection
    `static int` | `GL_TEXTURE_MATRIX` Matrix access name for texture

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `glFrustumf(float left, float right, float bottom, float top, float zNear, float zFar)` `Multiply` the current matrix with the frustum matrix.
    `void` | `glGetFloatv(int pname, float[] params, int params_offset)` Copy the named matrix to the given storage at offset.
    `void` | `glGetFloatv(int pname, FloatBuffer params)` Copy the named matrix into the given storage.
    `void` | `glGetIntegerv(int pname, int[] params, int params_offset)`
    `void` | `glGetIntegerv(int pname, IntBuffer params)` glGetIntegerv
    `void` | `glLoadIdentity()` Load the current matrix with the identity matrix
    `void` | `glLoadMatrixf(float[] m, int m_offset)` Load the current matrix w/ the provided one.
    `void` | `glLoadMatrixf(FloatBuffer m)` Load the current matrix w/ the provided one.
    `void` | `glMatrixMode(int mode)` Sets the current matrix mode.
    `void` | `glMultMatrixf(float[] m, int m_offset)` Multiply the current matrix: [c] = [c] x [m]
    `void` | `glMultMatrixf(FloatBuffer m)` Multiply the current matrix: [c] = [c] x [m]
    `void` | `glOrthof(float left, float right, float bottom, float top, float zNear, float zFar)` `Multiply` the current matrix with the orthogonal matrix.
    `void` | `glPopMatrix()` Pop the current matrix from it's stack.
    `void` | `glPushMatrix()` Push the current matrix to it's stack, while preserving it's values.
    `void` | `glRotatef(float angle, float x, float y, float z)` Rotate the current matrix.
    `void` | `glScalef(float x, float y, float z)` Scale the current matrix.
    `void` | `glTranslatef(float x, float y, float z)` Translate the current matrix.

- - ### Field Detail

    - #### GL_MATRIX_MODE

          static final int GL_MATRIX_MODE

      See Also:
        Constant Field Values

    - #### GL_MODELVIEW

          static final int GL_MODELVIEW

      Matrix mode modelview
      See Also:
        Constant Field Values

    - #### GL_PROJECTION

          static final int GL_PROJECTION

      Matrix mode projection
      See Also:
        Constant Field Values

    - #### GL_MODELVIEW_MATRIX

          static final int GL_MODELVIEW_MATRIX

      Matrix access name for modelview
      See Also:
        Constant Field Values

    - #### GL_PROJECTION_MATRIX

          static final int GL_PROJECTION_MATRIX

      Matrix access name for projection
      See Also:
        Constant Field Values

    - #### GL_TEXTURE_MATRIX

          static final int GL_TEXTURE_MATRIX

      Matrix access name for texture
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### glGetFloatv

          void glGetFloatv(int pname,
                         FloatBuffer params)

      Copy the named matrix into the given storage.
      Parameters:
        `pname` - `GL_MODELVIEW_MATRIX`, `GL_PROJECTION_MATRIX` or `GL_TEXTURE_MATRIX`
        `params` - the FloatBuffer's position remains unchanged, which is the same behavior than the native JOGL GL impl

    - #### glGetFloatv

          void glGetFloatv(int pname,
                         float[] params,
                         int params_offset)

      Copy the named matrix to the given storage at offset.
      Parameters:
        `pname` - `GL_MODELVIEW_MATRIX`, `GL_PROJECTION_MATRIX` or `GL_TEXTURE_MATRIX`
        `params` - storage
        `params_offset` - storage offset

    - #### glGetIntegerv

          void glGetIntegerv(int pname,
                           IntBuffer params)

      glGetIntegerv
      Parameters:
        `pname` - `GL_MATRIX_MODE` to receive the current matrix mode
        `params` - the FloatBuffer's position remains unchanged which is the same behavior than the native JOGL GL impl

    - #### glGetIntegerv

          void glGetIntegerv(int pname,
                           int[] params,
                           int params_offset)

    - #### glMatrixMode

          void glMatrixMode(int mode)

      Sets the current matrix mode.
      Parameters:
        `mode` - `GL_MODELVIEW`, `GL_PROJECTION` or `GL_TEXTURE`.

    - #### glPushMatrix

          void glPushMatrix()

      Push the current matrix to it's stack, while preserving it's values.

      There exist one stack per matrix mode, i.e. `GL_MODELVIEW`, `GL_PROJECTION` and `GL_TEXTURE`.

    - #### glPopMatrix

          void glPopMatrix()

      Pop the current matrix from it's stack.
      See Also:
        `glPushMatrix()`

    - #### glLoadIdentity

          void glLoadIdentity()

      Load the current matrix with the identity matrix

    - #### glLoadMatrixf

          void glLoadMatrixf(FloatBuffer m)

      Load the current matrix w/ the provided one.
      Parameters:
        `params` - the FloatBuffer's position remains unchanged, which is the same behavior than the native JOGL GL impl

    - #### glLoadMatrixf

          void glLoadMatrixf(float[] m,
                           int m_offset)

      Load the current matrix w/ the provided one.

    - #### glMultMatrixf

          void glMultMatrixf(FloatBuffer m)

      Multiply the current matrix: [c] = [c] x [m]
      Parameters:
        `m` - the FloatBuffer's position remains unchanged, which is the same behavior than the native JOGL GL impl

    - #### glMultMatrixf

          void glMultMatrixf(float[] m,
                           int m_offset)

      Multiply the current matrix: [c] = [c] x [m]

    - #### glTranslatef

          void glTranslatef(float x,
                          float y,
                          float z)

      Translate the current matrix.

    - #### glRotatef

          void glRotatef(float angle,
                       float x,
                       float y,
                       float z)

      Rotate the current matrix.

    - #### glScalef

          void glScalef(float x,
                      float y,
                      float z)

      Scale the current matrix.

    - #### glOrthof

          void glOrthof(float left,
                      float right,
                      float bottom,
                      float top,
                      float zNear,
                      float zFar)

      `Multiply` the current matrix with the orthogonal matrix.

    - #### glFrustumf

          void glFrustumf(float left,
                        float right,
                        float bottom,
                        float top,
                        float zNear,
                        float zFar)

      `Multiply` the current matrix with the frustum matrix.

Copyright 2010 JogAmp Community.