X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpixelformat.h;h=0fa6609a1ead97d061ad7f45c9e2a97ff0c805ba;hb=f9d27a44f11dcb2980ea7c65d410e9002098487f;hp=4e71b9f0e7f4c1a1069f284a8f420b266f98288b;hpb=f14435e58bfa0fa697a06ba9a454bb30cd37d9d8;p=libs%2Fgl.git diff --git a/source/pixelformat.h b/source/pixelformat.h index 4e71b9f0..0fa6609a 100644 --- a/source/pixelformat.h +++ b/source/pixelformat.h @@ -1,48 +1,63 @@ #ifndef MSP_GL_PIXELFORMAT_H_ #define MSP_GL_PIXELFORMAT_H_ -#include -#include +#include +#include #include "gl.h" -#include +#include +#include +#include +#include +#include namespace Msp { namespace GL { enum PixelFormat { - COLOR_INDEX = GL_COLOR_INDEX, STENCIL_INDEX = GL_STENCIL_INDEX, DEPTH_COMPONENT = GL_DEPTH_COMPONENT, - RED = GL_RED, - GREEN = GL_GREEN, - BLUE = GL_BLUE, - ALPHA = GL_ALPHA, RGB = GL_RGB, RGBA = GL_RGBA, RGB8 = GL_RGB8, - RGB16F = GL_RGB16F_ARB, - RGB32F = GL_RGB32F_ARB, + RGB16F = GL_RGB16F, + RGB32F = GL_RGB32F, RGBA8 = GL_RGBA8, - RGBA16F = GL_RGBA16F_ARB, - RGBA32F = GL_RGBA32F_ARB, + RGBA16F = GL_RGBA16F, + RGBA32F = GL_RGBA32F, + SRGB = GL_SRGB, + SRGB_ALPHA = GL_SRGB_ALPHA, + SRGB8 = GL_SRGB8, + SRGB8_ALPHA8 = GL_SRGB8_ALPHA8, BGR = GL_BGR, BGRA = GL_BGRA, LUMINANCE = GL_LUMINANCE, LUMINANCE8 = GL_LUMINANCE8, + // TODO Remove LUMINANCE(_ALPHA) float formats once ARB_texture_rg becomes supported LUMINANCE16F = GL_LUMINANCE16F_ARB, LUMINANCE32F = GL_LUMINANCE32F_ARB, LUMINANCE_ALPHA = GL_LUMINANCE_ALPHA, LUMINANCE_ALPHA8 = GL_LUMINANCE8_ALPHA8, LUMINANCE_ALPHA16F = GL_LUMINANCE_ALPHA16F_ARB, LUMINANCE_ALPHA32F = GL_LUMINANCE_ALPHA32F_ARB, + SLUMINANCE = GL_SLUMINANCE, + SLUMINANCE8 = GL_SLUMINANCE8, + SLUMINANCE_ALPHA = GL_SLUMINANCE_ALPHA, + SLUMINANCE8_ALPHA8 = GL_SLUMINANCE8_ALPHA8 }; -std::istream &operator>>(std::istream &, PixelFormat &); +void operator>>(const LexicalConverter &, PixelFormat &); PixelFormat pixelformat_from_graphics(Graphics::PixelFormat); +PixelFormat storage_pixelformat_from_graphics(Graphics::PixelFormat); PixelFormat get_base_pixelformat(PixelFormat); +PixelFormat get_srgb_pixelformat(PixelFormat); +unsigned get_component_count(PixelFormat); +unsigned get_component_size(PixelFormat); +unsigned get_pixel_size(PixelFormat); + +void require_pixelformat(PixelFormat); } // namespace GL } // namespace Msp