using OpenTK.Graphics.OpenGL4; namespace SM.OGL.Texture { /// /// Stores information how pixels are stored in textures. /// public struct PixelInformation { /// /// RGB without Alpha channel, Low Dynamic Range (0 - 1) /// public static PixelInformation RGB_LDR = new PixelInformation(PixelInternalFormat.Rgb, PixelFormat.Rgb, PixelType.UnsignedByte); /// /// RGB without Alpha channel, High Dynamic Range (0 - n) /// public static PixelInformation RGB_HDR = new PixelInformation(PixelInternalFormat.Rgb16f, PixelFormat.Rgb, PixelType.Float); /// /// RGB with Alpha channel, Low Dynamic Range (0 - 1) /// public static PixelInformation RGBA_LDR = new PixelInformation(PixelInternalFormat.Rgba, PixelFormat.Rgba, PixelType.UnsignedByte); /// /// RGB with Alpha channel, High Dynamic Range (0 - n) /// public static PixelInformation RGBA_HDR = new PixelInformation(PixelInternalFormat.Rgba16f, PixelFormat.Rgba, PixelType.Float); /// /// The internal format of the pixels. /// public PixelInternalFormat InternalFormat { get; } /// /// The format of the pixels. /// public PixelFormat Format { get; } /// /// The data type of the pixels, /// public PixelType DataType { get; } /// /// The constructor /// /// /// /// public PixelInformation(PixelInternalFormat internalFormat, PixelFormat format, PixelType dataType) { InternalFormat = internalFormat; Format = format; DataType = dataType; } } }