Class GLPixelStorageModes

java.lang.Object
com.jogamp.opengl.util.GLPixelStorageModes

public class GLPixelStorageModes extends Object
Utility to safely set and restore the PACK and UNPACK pixel storage mode, regardless of the GLProfile.

PACK for GPU to CPU transfers, e.g. ReadPixels, etc.

UNPACK for CPU o GPU transfers, e.g. TexImage2D, etc

  • Constructor Details

    • GLPixelStorageModes

      public GLPixelStorageModes()
      Create instance w/o saveAll(GL)
    • GLPixelStorageModes

      public GLPixelStorageModes(GL gl)
      Create instance w/ saveAll(GL)
  • Method Details

    • setPackAlignment

      public final void setPackAlignment(GL gl, int packAlignment)
      Sets the GL.GL_PACK_ALIGNMENT.

      Saves the PACK pixel storage modes and resets them if not saved yet, see savePack(GL).

    • setUnpackAlignment

      public final void setUnpackAlignment(GL gl, int unpackAlignment)
      Sets the GL.GL_UNPACK_ALIGNMENT.

      Saves the UNPACK pixel storage modes and resets them if not saved yet, see saveUnpack(GL).

    • setAlignment

      public final void setAlignment(GL gl, int packAlignment, int unpackAlignment)
      Sets the GL.GL_PACK_ALIGNMENT and GL.GL_UNPACK_ALIGNMENT.

      Saves the PACK and UNPACK pixel storage modes and resets them if not saved yet, see saveAll(GL).

    • setPackRowLength

      public final void setPackRowLength(GL2ES3 gl, int packRowLength)
      Sets the GL2ES3.GL_PACK_ROW_LENGTH.

      Saves the PACK pixel storage modes and resets them if not saved yet, see savePack(GL).

    • setUnpackRowLength

      public final void setUnpackRowLength(GL2ES3 gl, int unpackRowLength)
      Sets the GL2ES2.GL_UNPACK_ROW_LENGTH.

      Saves the UNPACK pixel storage modes and resets them if not saved yet, see saveUnpack(GL).

    • setRowLength

      public final void setRowLength(GL2ES3 gl, int packRowLength, int unpackRowLength)
      Sets the GL2ES3.GL_PACK_ROW_LENGTH and GL2ES2.GL_UNPACK_ROW_LENGTH if GLBase.isGL2ES3().

      Saves the PACK and UNPACK pixel storage modes and resets them if not saved yet, see saveAll(GL).

    • saveAll

      public final void saveAll(GL gl)
      Saves PACK and UNPACK pixel storage modes and resets them, i.e. issues savePack(GL) and saveUnpack(GL).

      Operation is skipped, if the modes were already saved.

      Restore via restore(GL)

    • resetAll

      public final void resetAll(GL gl)
      Resets PACK and UNPACK pixel storage modes to their default value, i.e. issues resetPack(GL) and resetUnpack(GL).
    • restore

      public final void restore(GL gl) throws GLException
      Restores PACK and UNPACK pixel storage mode previously saved w/ saveAll(GL) or savePack(GL) and saveUnpack(GL).
      Throws:
      GLException - if neither PACK nor UNPACK modes were saved.
    • resetPack

      public final void resetPack(GL gl)
      Resets PACK pixel storage modes to their default value.
    • savePack

      public final void savePack(GL gl)
      Saves PACK pixel storage modes and resets them.

      Operation is skipped, if the modes were already saved.

      Restore via restore(GL)

    • resetUnpack

      public final void resetUnpack(GL gl)
      Resets UNPACK pixel storage modes to their default value.
    • saveUnpack

      public final void saveUnpack(GL gl)
      Saves UNPACK pixel storage modes and resets them.

      Operation is skipped, if the modes were already saved.

      Restore via restore(GL)