module Graphics.LambdaCube.PixelFormat where -- | The pixel format used for images, textures, and render surfaces data PixelFormat = PF_UNKNOWN -- ^ Unknown pixel format. | PF_L8 -- ^ 8-bit pixel format, all bits luminace. -- | PF_BYTE_L = PF_L8 | PF_L16 -- ^ 16-bit pixel format, all bits luminace. -- | PF_SHORT_L = PF_L16 | PF_A8 -- ^ 8-bit pixel format, all bits alpha. -- | PF_BYTE_A = PF_A8 | PF_A4L4 -- ^ 8-bit pixel format, 4 bits alpha, 4 bits luminance. | PF_BYTE_LA -- ^ 2 byte pixel format, 1 byte luminance, 1 byte alpha | PF_R5G6B5 -- ^ 16-bit pixel format, 5 bits red, 6 bits green, 5 bits blue. | PF_B5G6R5 -- ^ 16-bit pixel format, 5 bits red, 6 bits green, 5 bits blue. | PF_R3G3B2 -- ^ 8-bit pixel format, 2 bits blue, 3 bits green, 3 bits red. | PF_A4R4G4B4 -- ^ 16-bit pixel format, 4 bits for alpha, red, green and blue. | PF_A1R5G5B5 -- ^ 16-bit pixel format, 5 bits for blue, green, red and 1 for alpha. | PF_R8G8B8 -- ^ 24-bit pixel format, 8 bits for red, green and blue. | PF_B8G8R8 -- ^ 24-bit pixel format, 8 bits for blue, green and red. | PF_A8R8G8B8 -- ^ 32-bit pixel format, 8 bits for alpha, red, green and blue. | PF_A8B8G8R8 -- ^ 32-bit pixel format, 8 bits for blue, green, red and alpha. | PF_B8G8R8A8 -- ^ 32-bit pixel format, 8 bits for blue, green, red and alpha. | PF_R8G8B8A8 -- ^ 32-bit pixel format, 8 bits for red, green, blue and alpha. | PF_X8R8G8B8 -- ^ 32-bit pixel format, 8 bits for red, 8 bits for green, 8 bits for blue; like PF_A8R8G8B8, but alpha will get discarded | PF_X8B8G8R8 -- ^ 32-bit pixel format, 8 bits for blue, 8 bits for green, 8 bits for red; like PF_A8B8G8R8, but alpha will get discarded | PF_A2R10G10B10 -- ^ 32-bit pixel format, 2 bits for alpha, 10 bits for red, green and blue. | PF_A2B10G10R10 -- ^ 32-bit pixel format, 10 bits for blue, green and red, 2 bits for alpha. | PF_DXT1 -- ^ DDS (DirectDraw Surface) DXT1 format | PF_DXT2 -- ^ DDS (DirectDraw Surface) DXT2 format | PF_DXT3 -- ^ DDS (DirectDraw Surface) DXT3 format | PF_DXT4 -- ^ DDS (DirectDraw Surface) DXT4 format | PF_DXT5 -- ^ DDS (DirectDraw Surface) DXT5 format | PF_FLOAT16_R -- ^ 16-bit pixel format, 16 bits (float) for red | PF_FLOAT16_RGB -- ^ 48-bit pixel format, 16 bits (float) for red, 16 bits (float) for green, 16 bits (float) for blue | PF_FLOAT16_RGBA -- ^ 64-bit pixel format, 16 bits (float) for red, 16 bits (float) for green, 16 bits (float) for blue, 16 bits (float) for alpha | PF_FLOAT32_R -- ^ 16-bit pixel format, 16 bits (float) for red | PF_FLOAT32_RGB -- ^ 96-bit pixel format, 32 bits (float) for red, 32 bits (float) for green, 32 bits (float) for blue | PF_FLOAT32_RGBA -- ^ 128-bit pixel format, 32 bits (float) for red, 32 bits (float) for green, 32 bits (float) for blue, 32 bits (float) for alpha | PF_FLOAT16_GR -- ^ 32-bit, 2-channel s10e5 floating point pixel format, 16-bit green, 16-bit red | PF_FLOAT32_GR -- ^ 64-bit, 2-channel floating point pixel format, 32-bit green, 32-bit red | PF_DEPTH -- ^ Depth texture format | PF_SHORT_RGBA -- ^ 64-bit pixel format, 16 bits for red, green, blue and alpha | PF_SHORT_GR -- ^ 32-bit pixel format, 16-bit green, 16-bit red | PF_SHORT_RGB -- ^ 48-bit pixel format, 16 bits for red, green and blue deriving (Eq,Ord) -- | Flags defining some on/off properties of pixel formats data PixelFormatFlags = PFF_HASALPHA -- ^ This format has an alpha channel | PFF_COMPRESSED -- ^ This format is compressed. This invalidates the values in elemBytes, elemBits and the bit counts as these might not be fixed in a compressed format. | PFF_FLOAT -- ^ This is a floating point format | PFF_DEPTH -- ^ This is a depth format (for depth textures) | PFF_NATIVEENDIAN -- ^ Format is in native endian. Generally true for the 16, 24 and 32 bits formats which can be represented as machine integers. | PFF_LUMINANCE -- ^ This is an intensity format instead of a RGB one. The luminance replaces R,G and B. (but not A) -- | Pixel component format data PixelComponentType = PCT_BYTE -- ^ Byte per component (8 bit fixed 0.0..1.0) | PCT_SHORT -- ^ Short per component (16 bit fixed 0.0..1.0)) | PCT_FLOAT16 -- ^ 16 bit float per component | PCT_FLOAT32 -- ^ 32 bit float per component