Scaleform::Render::ImageFormat

Scaleform::Render::ImageFormat
enum ImageFormat {
  Image_None = 0,
  Image_R8G8B8A8 = 1,
  Image_B8G8R8A8 = 2,
  Image_R8G8B8 = 3,
  Image_B8G8R8 = 4,
  Image_A8 = 9,
  Image_R4G4B4A4 = 20,
  Image_B5G5R5A1 = 21,
  Image_BC7 = 53,
  Image_PVRTC_RGB_4BPP = 54,
  Image_PVRTC_RGBA_4BPP = 55,
  Image_PVRTC_RGB_2BPP = 56,
  Image_PVRTC_RGBA_2BPP = 57,
  Image_ETC1_RGB_4BPP = 58,
  Image_ETC1_RGBA_8BPP = 59,
  Image_ETC2_RGB = 60,
  Image_ETC2_RGBA = 61,
  Image_ETC2_RGBA1 = 62,
  Image_ATCIC = 63,
  Image_ATCICA = 64,
  Image_ATCICI = 65,
  Image_ETC1A_RGBA_4BPP = 66,
  Image_Compressed_Start = Image_DXT1,
  Image_Compressed_End = 99,
  Image_P8 = 100,
  Image_G8 = 101,
  Image_VideoFormat_Start = 200,
  Image_Y8_U2_V2 = Image_VideoFormat_Start,
  Image_Y8_U2_V2_A8 = 201,
  Image_Y4_U2_V2 = 202,
  Image_VideoFormat_End = Image_Y4_U2_V2,
  ImageFormat_Mask = 0xFFF,
  Image_Begin_HWSpecific = 0x1000,
  Image_X360_R8G8B8A8 = ImageTarget_X360|Image_R8G8B8A8|ImageStorage_Tile,
  Image_X360_A8 = ImageTarget_X360|Image_A8|ImageStorage_Tile,
  Image_X360_DXT1 = ImageTarget_X360|Image_DXT1|ImageStorage_Tile,
  Image_X360_DXT3 = ImageTarget_X360|Image_DXT3|ImageStorage_Tile,
  Image_X360_DXT5 = ImageTarget_X360|Image_DXT5|ImageStorage_Tile,
  Image_PS3_R8G8B8A8_SZ = ImageTarget_PS3|Image_R8G8B8A8|ImageStorage_Swizzle,
  Image_PS3_A8_SZ = ImageTarget_PS3|Image_A8|ImageStorage_Swizzle,
  Image_PS3_A8R8G8B8 = ImageTarget_PS3|Image_R8G8B8A8,
  Image_PS3_R8G8B8 = ImageTarget_PS3|Image_R8G8B8,
  Image_PS3_A8 = ImageTarget_PS3|Image_A8,
  Image_PS3_DXT1 = ImageTarget_PS3|Image_DXT1,
  Image_PS3_DXT3 = ImageTarget_PS3|Image_DXT3,
  Image_PS3_DXT5 = ImageTarget_PS3|Image_DXT5,
  Image_Wii_R8G8B8A8 = ImageTarget_Wii|Image_R8G8B8A8|ImageStorage_Tile,
  Image_Wii_A8 = ImageTarget_Wii|Image_A8|ImageStorage_Tile,
  Image_Wii_DXT1 = ImageTarget_Wii|Image_DXT1,
  Image_3DS_R8G8B8A8 = ImageTarget_3DS|Image_R8G8B8A8|ImageStorage_Swizzle,
  Image_3DS_R8G8B8 = ImageTarget_3DS|Image_B8G8R8|ImageStorage_Swizzle,
  Image_3DS_A8 = ImageTarget_3DS|Image_A8|ImageStorage_Swizzle,
  Image_3DS_ETC1 = ImageTarget_3DS|Image_ETC1_RGB_4BPP|ImageStorage_Tile,
  Image_3DS_ETC1_RGBA = ImageTarget_3DS|Image_ETC1_RGBA_8BPP|ImageStorage_Tile,
  Image_PSVita_DXT1 = ImageTarget_PSVita|Image_DXT1|ImageStorage_Swizzle,
  Image_PSVita_DXT3 = ImageTarget_PSVita|Image_DXT3|ImageStorage_Swizzle,
  Image_PSVita_DXT5 = ImageTarget_PSVita|Image_DXT5|ImageStorage_Swizzle,
  Image_WiiU_DXT1 = ImageTarget_WiiU|Image_DXT1|ImageStorage_Swizzle,
  Image_WiiU_DXT3 = ImageTarget_WiiU|Image_DXT3|ImageStorage_Swizzle,
  Image_WiiU_DXT5 = ImageTarget_WiiU|Image_DXT5|ImageStorage_Swizzle,
  Image_Orbis_BC1 = ImageTarget_Orbis|Image_BC1|ImageStorage_Tile,
  Image_Orbis_BC2 = ImageTarget_Orbis|Image_BC2|ImageStorage_Tile,
  Image_Orbis_BC3 = ImageTarget_Orbis|Image_BC3|ImageStorage_Tile,
  Image_Orbis_BC7 = ImageTarget_Orbis|Image_BC7|ImageStorage_Tile,
  ImageFormat_Convertible = 0x100000,
  Image_Conv_R8G8B8A8 = Image_R8G8B8A8|ImageFormat_Convertible,
  Image_Conv_B8G8R8A8 = Image_B8G8R8A8|ImageFormat_Convertible,
  Image_Conv_A8 = Image_A8|ImageFormat_Convertible
};
Description

List of image formats that can be used for the image data. 

ImageFormats are divided into several groups:

  1. Generic - These formats represent directly linearly addressable data; this data should not have any target bits.
  2. Convertible - Image should be convertible to a specified format by the Decode [Data] function.
  3. Target-Specific - Data format is only intended to be interpreted by the render on the target platform. Usually this will be a swizzled and byte-converted format.

Image format lists channels in the order their bytes/words appear in memory, so Image_R8G8B8A8 is stored in memory as Red, Green, Blue, Alpha consecutively, independent of the format byte order. Note that this doesn't match DWORD color representation in either big or little-endian formats.

Members
Members 
Description 
Image_None = 0 
Image format is not specified. 
Image_R8G8B8A8 = 1 
The format for textures with an alpha channel and very fine gradients (i.e., normal maps or light halos). Default. 
Image_B8G8R8A8 = 2 
D3D9 texture compatible format; potentially color DWORD compatible. 
Image_R8G8B8 = 3 
Format for textures with no alpha channel and very fine gradients i.e., normal maps or light halos.(Generic format; supported on all platforms.) 
Image_A8 = 9 
Format for black and white textures with an alpha channel and very fine gradients i.e., smoke or light halos. (Generic format; supported on all platforms.) 
Image_PVRTC_RGB_4BPP = 54 
Compressed. 
Image_PVRTC_RGBA_4BPP = 55 
Compressed. 
Image_PVRTC_RGB_2BPP = 56 
Compressed. 
Image_PVRTC_RGBA_2BPP = 57 
Compressed. 
Image_ETC1_RGB_4BPP = 58 
Compressed, compatible only with Android. 
Image_ETC1_RGBA_8BPP = 59 
Compressed. 
Image_ATCIC = 63 
Compressed, compatible only with Android (RGB). 
Image_ATCICA = 64 
Compressed, compatible only with Android (RGB w/explicit A). 
Image_ATCICI = 65 
Compressed, compatible only with Android (RGB w/interpolated A). 
Image_ETC1A_RGBA_4BPP = 66 
ETC1, with two image planes. The first is RGB, second is the alpha. 
Image_P8 = 100 
Palleted, 256 -color TGA support, converted to R8G8B8 during loading by default. 
Image_Y8_U2_V2 = Image_VideoFormat_Start 
Formats for video textures. Not usable for any other purpose. Image_Y8_U2_V2 is encoded with three separate data planes. 
Image_Y8_U2_V2_A8 = 201 
Formats for video textures. Not usable for any other purpose. Image_Y8_U2_V2_A8 is encoded with four separate data planes. 
Image_Begin_HWSpecific = 0x1000 
Platform/HW-specific (Swizzled/Packed) formats. 
ImageFormat_Convertible = 0x100000 
The desired format can only be obtained through the Decode function; it is not stored directly. 
Image_Conv_R8G8B8A8 = Image_R8G8B8A8|ImageFormat_Convertible 
Defined for convenience. 
Image_Conv_B8G8R8A8 = Image_B8G8R8A8|ImageFormat_Convertible 
Defined for convenience. 
Image_Conv_A8 = Image_A8|ImageFormat_Convertible 
Defined for convenience. 
File

Render_Image.h