using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace BansheeEngine
{
/** @addtogroup Rendering
* @{
*/
/// Pixel formats usable by images, textures and render surfaces.
public enum PixelFormat
{
/// 8-bit 1-channel pixel format, unsigned normalized.
R8 = 1,
/// 8-bit 2-channel pixel format, unsigned normalized.
RG8 = 2,
/// 8-bit 3-channel pixel format, unsigned normalized.
RGB8 = 3,
/// 8-bit 3-channel pixel format, unsigned normalized.
BGR8 = 4,
/// DXT3/BC2 format containing RGB with explicit alpha. 8 bits per pixel.
BC2 = 15,
/// 8-bit 4-channel pixel format, unsigned normalized.
BGRA8 = 7,
///
/// DXT5/BC2 format containing RGB with explicit alpha. 8 bits per pixel. Better alpha gradients than BC2.
///
BC3 = 16,
/// 8-bit 4-channel pixel format, unsigned normalized.
RGBA8 = 8,
/// DXT1/BC1 format containing opaque RGB or 1-bit alpha RGB. 4 bits per pixel.
BC1 = 13,
/// One channel compressed format. 4 bits per pixel.
BC4 = 17,
/// Two channel compressed format. 8 bits per pixel.
BC5 = 18,
/// Format storing RGB in half (16-bit) floating point format usable for HDR. 8 bits per pixel.
BC6H = 19,
///
/// Format storing RGB with optional alpha channel. Similar to BC1/BC2/BC3 formats but with higher quality and higher
/// decompress overhead. 8 bits per pixel.
///
BC7 = 20,
/// 16-bit 1-channel pixel format, signed float.
R16F = 21,
/// 16-bit 2-channel pixel format, signed float.
RG16F = 22,
/// 16-bit 4-channel pixel format, signed float.
RGBA16F = 24,
/// 32-bit 1-channel pixel format, signed float.
R32F = 25,
/// 32-bit 2-channel pixel format, signed float.
RG32F = 26,
/// 32-bit 3-channel pixel format, signed float.
RGB32F = 27,
/// 32-bit 4-channel pixel format, signed float.
RGBA32F = 28,
/// Depth stencil format, 32bit depth, 8bit stencil + 24 unused. Depth stored as signed float.
D32_S8X24 = 29,
/// Depth stencil fomrat, 24bit depth + 8bit stencil. Depth stored as unsigned normalized.
D24S8 = 30,
/// Depth format, 32bits. Signed float.
D32 = 31,
/// Depth format, 16bits. Unsigned normalized.
D16 = 32,
/// 8-bit 1-channel pixel format, signed integer.
R8I = 35,
/// 8-bit 2-channel pixel format, signed integer.
RG8I = 36,
/// 8-bit 4-channel pixel format, signed integer.
RGBA8I = 37,
/// 8-bit 1-channel pixel format, unsigned integer.
R8U = 38,
/// 8-bit 2-channel pixel format, unsigned integer.
RG8U = 39,
/// 8-bit 4-channel pixel format, unsigned integer.
RGBA8U = 40,
/// 8-bit 1-channel pixel format, signed normalized.
R8S = 41,
/// 8-bit 2-channel pixel format, signed normalized.
RG8S = 42,
/// 8-bit 4-channel pixel format, signed normalized.
RGBA8S = 43,
/// 16-bit 1-channel pixel format, signed integer.
R16I = 44,
/// 16-bit 2-channel pixel format, signed integer.
RG16I = 45,
/// 16-bit 4-channel pixel format, signed integer.
RGBA16I = 46,
/// 16-bit 1-channel pixel format, unsigned integer.
R16U = 47,
/// 16-bit 2-channel pixel format, unsigned integer.
RG16U = 48,
/// 16-bit 4-channel pixel format, unsigned integer.
RGBA16U = 49,
/// 32-bit 1-channel pixel format, signed integer.
R32I = 50,
/// 32-bit 2-channel pixel format, signed integer.
RG32I = 51,
/// 32-bit 3-channel pixel format, signed integer.
RGB32I = 52,
/// 32-bit 4-channel pixel format, signed integer.
RGBA32I = 53,
/// 32-bit 1-channel pixel format, unsigned integer.
R32U = 54,
/// 32-bit 2-channel pixel format, unsigned integer.
RG32U = 55,
/// 32-bit 3-channel pixel format, unsigned integer.
RGB32U = 56,
/// 32-bit 4-channel pixel format, unsigned integer.
RGBA32U = 57,
/// 16-bit 1-channel pixel format, signed normalized.
R16S = 58,
/// 16-bit 2-channel pixel format, signed normalized.
RG16S = 59,
/// 16-bit 4-channel pixel format, signed normalized.
RGBA16S = 60,
/// 16-bit 1-channel pixel format, unsigned normalized.
R16 = 61,
/// 16-bit 2-channel pixel format, unsigned normalized.
RG16 = 62,
/// 16-bit 3-channel pixel format, unsigned normalized.
RGB16 = 63,
/// 16-bit 4-channel pixel format, unsigned normalized.
RGBA16 = 64
}
/** @} */
}