Enum PixelFormat

java.lang.Object
java.lang.Enum<PixelFormat>
com.jogamp.nativewindow.util.PixelFormat
All Implemented Interfaces:
Serializable, Comparable<PixelFormat>, java.lang.constant.Constable

public enum PixelFormat extends Enum<PixelFormat>
Basic pixel formats

Notation follows OpenGL notation, i.e. name consist of all it's component names followed by their bit size.

Order of component names is from lowest-bit to highest-bit.

In case component-size is 1 byte (e.g. OpenGL data-type GL_UNSIGNED_BYTE), component names are ordered from lowest-byte to highest-byte. Note that OpenGL applies special interpretation if data-type is e.g. GL_UNSIGNED_8_8_8_8_REV or GL_UNSIGNED_8_8_8_8_REV.

PixelFormat can be converted to OpenGL GLPixelAttributes via

  GLPixelAttributes glpa = GLPixelAttributes.convert(PixelFormat pixFmt, GLProfile glp);
 

See OpenGL Specification 4.3 - February 14, 2013, Core Profile, Section 8.4.4 Transfer of Pixel Rectangles, p. 161-174.

  • Enum Constant Details

    • LUMINANCE

      public static final PixelFormat LUMINANCE
      Stride is 8 bits, 8 bits per pixel, 1 component of 8 bits. Compatible with:
      • OpenGL: data-format GL_ALPHA (< GL3), GL_RED (>= GL3), data-type GL_UNSIGNED_BYTE
      • AWT: none

    • RGB565

      public static final PixelFormat RGB565
      Stride is 16 bits, 16 bits per pixel, 3 discrete components.

      The discrete components are interleaved in the order Low to High:

      1. R: 0x1F << 0
      2. G: 0x3F << 5
      3. B: 0x1F << 11

      Compatible with:

      • OpenGL: data-format GL_RGB, data-type GL_UNSIGNED_SHORT_5_6_5_REV
      • AWT: None

    • BGR565

      public static final PixelFormat BGR565
      Stride is 16 bits, 16 bits per pixel, 3 discrete components.

      The discrete components are interleaved in the order Low to High:

      1. B: 0x1F << 0
      2. G: 0x3F << 5
      3. R: 0x1F << 11

      Compatible with:

      • OpenGL: data-format GL_RGB, data-type GL_UNSIGNED_SHORT_5_6_5
      • AWT: None

    • RGBA5551

      public static final PixelFormat RGBA5551
      Stride is 16 bits, 16 bits per pixel, 4 discrete components.

      The discrete components are interleaved in the order Low to High:

      1. R: 0x1F << 0
      2. G: 0x1F << 5
      3. B: 0x1F << 10
      4. A: 0x01 << 15

      Compatible with:

      • OpenGL: data-format GL_RGBA, data-type GL_UNSIGNED_SHORT_1_5_5_5_REV
      • AWT: None

    • ABGR1555

      public static final PixelFormat ABGR1555
      Stride is 16 bits, 16 bits per pixel, 4 discrete components.

      The discrete components are interleaved in the order Low to High:

      1. A: 0x01 << 0
      2. B: 0x1F << 1
      3. G: 0x1F << 6
      4. R: 0x1F << 11

      Compatible with:

      • OpenGL: data-format GL_RGBA, data-type GL_UNSIGNED_SHORT_5_5_5_1
      • AWT: None

    • RGB888

      public static final PixelFormat RGB888
      Stride 24 bits, 24 bits per pixel, 3 uniform components of 8 bits.

      The uniform components are interleaved in the order Low to High:

      1. R: 0xFF << 0
      2. G: 0xFF << 8
      3. B: 0xFF << 16

      Compatible with:

      • OpenGL: data-format GL_RGB, data-type GL_UNSIGNED_BYTE
      • AWT: None

    • BGR888

      public static final PixelFormat BGR888
      Stride is 24 bits, 24 bits per pixel, 3 uniform components of of 8 bits.

      The uniform components are interleaved in the order Low to High:

      1. B: 0xFF << 0
      2. G: 0xFF << 8
      3. R: 0xFF << 16

      Compatible with:

      • OpenGL: data-format GL_BGR (>= GL2), data-type GL_UNSIGNED_BYTE
      • AWT: TYPE_3BYTE_BGR

    • RGBx8888

      public static final PixelFormat RGBx8888
      Stride is 32 bits, 24 bits per pixel, 3 uniform components of 8 bits.

      The uniform components are interleaved in the order Low to High:

      1. R: 0xFF << 0
      2. G: 0xFF << 8
      3. B: 0xFF << 16

      Compatible with:

      • OpenGL: data-format GL_RGBA, data-type GL_UNSIGNED_BYTE, with alpha discarded!
      • AWT: TYPE_INT_BGR

    • BGRx8888

      public static final PixelFormat BGRx8888
      Stride is 32 bits, 24 bits per pixel, 3 uniform components of 8 bits.

      The uniform components are interleaved in the order Low to High:

      1. B: 0xFF << 0
      2. G: 0xFF << 8
      3. R: 0xFF << 16

      Compatible with:

      • OpenGL: data-format GL_BGRA, data-type GL_UNSIGNED_BYTE - with alpha discarded!
      • AWT: TYPE_INT_RGB

    • RGBA8888

      public static final PixelFormat RGBA8888
      Stride is 32 bits, 32 bits per pixel, 4 uniform components of 8 bits.

      The uniform components are interleaved in the order Low to High:

      1. R: 0xFF << 0
      2. G: 0xFF << 8
      3. B: 0xFF << 16
      4. A: 0xFF << 24

      Compatible with:

      • OpenGL: data-format GL_RGBA, data-type GL_UNSIGNED_BYTE
      • AWT: None
      • PointerIcon: OSX (NSBitmapImageRep)
      • Window Icon: OSX (NSBitmapImageRep)
      • PNGJ: Scanlines

    • ABGR8888

      public static final PixelFormat ABGR8888
      Stride is 32 bits, 32 bits per pixel, 4 uniform components of 8 bits.

      The uniform components are interleaved in the order Low to High:

      1. A: 0xFF << 0
      2. B: 0xFF << 8
      3. G: 0xFF << 16
      4. R: 0xFF << 24

      Compatible with:

      • OpenGL: data-format GL_RGBA, data-type GL_UNSIGNED_INT_8_8_8_8
      • AWT: TYPE_4BYTE_ABGR

    • ARGB8888

      public static final PixelFormat ARGB8888
      Stride is 32 bits, 32 bits per pixel, 4 uniform components of 8 bits.

      The uniform components are interleaved in the order Low to High:

      1. A: 0xFF << 0
      2. R: 0xFF << 8
      3. G: 0xFF << 16
      4. B: 0xFF << 24

      Compatible with:

      • OpenGL: data-format GL_BGRA, data-type GL_UNSIGNED_INT_8_8_8_8
      • AWT: None

    • BGRA8888

      public static final PixelFormat BGRA8888
      Stride is 32 bits, 32 bits per pixel, 4 uniform components of 8 bits.

      The uniform components are interleaved in the order Low to High:

      1. B: 0xFF << 0
      2. G: 0xFF << 8
      3. R: 0xFF << 16
      4. A: 0xFF << 24

      Compatible with:

      • OpenGL: data-format GL_BGRA, data-type GL_UNSIGNED_BYTE
      • AWT: TYPE_INT_ARGB
      • PointerIcon: X11 (XCURSOR), Win32, AWT
      • Window Icon: X11, Win32

  • Field Details

  • Method Details

    • values

      public static PixelFormat[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static PixelFormat valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • valueOf

      public static PixelFormat valueOf(PixelFormat.Composition comp)
      Returns the unique matching PixelFormat of the given PixelFormat.Composition or null if none is available.