1 #ifndef MSP_GL_PIXELFORMAT_H_
2 #define MSP_GL_PIXELFORMAT_H_
4 #include <msp/graphics/pixelformat.h>
5 #include <msp/strings/lexicalcast.h>
7 #include <msp/gl/extensions/arb_depth_buffer_float.h>
8 #include <msp/gl/extensions/arb_depth_texture.h>
9 #include <msp/gl/extensions/arb_texture_float.h>
10 #include <msp/gl/extensions/arb_texture_rg.h>
11 #include <msp/gl/extensions/ext_bgra.h>
12 #include <msp/gl/extensions/ext_texture_srgb.h>
13 #include <msp/gl/extensions/msp_legacy_features.h>
14 #include <msp/gl/extensions/oes_required_internalformat.h>
15 #include <msp/gl/extensions/oes_texture_stencil8.h>
22 STENCIL_INDEX = GL_STENCIL_INDEX,
23 DEPTH_COMPONENT = GL_DEPTH_COMPONENT,
24 DEPTH_COMPONENT16 = GL_DEPTH_COMPONENT16,
25 DEPTH_COMPONENT24 = GL_DEPTH_COMPONENT24,
26 DEPTH_COMPONENT32 = GL_DEPTH_COMPONENT32,
27 DEPTH_COMPONENT32F = GL_DEPTH_COMPONENT32F,
45 SRGB_ALPHA = GL_SRGB_ALPHA,
47 SRGB8_ALPHA8 = GL_SRGB8_ALPHA8,
50 LUMINANCE = GL_LUMINANCE,
51 LUMINANCE8 = GL_LUMINANCE8,
52 LUMINANCE_ALPHA = GL_LUMINANCE_ALPHA,
53 LUMINANCE8_ALPHA8 = GL_LUMINANCE8_ALPHA8,
56 SLUMINANCE = GL_SLUMINANCE,
57 SLUMINANCE8 = GL_SLUMINANCE8,
58 SLUMINANCE_ALPHA = GL_SLUMINANCE_ALPHA,
59 SLUMINANCE8_ALPHA8 = GL_SLUMINANCE8_ALPHA8,
62 LUMINANCE_ALPHA8 = GL_LUMINANCE8_ALPHA8
65 void operator>>(const LexicalConverter &, PixelFormat &);
67 PixelFormat pixelformat_from_graphics(Graphics::PixelFormat);
68 PixelFormat storage_pixelformat_from_graphics(Graphics::PixelFormat, bool = false);
70 PixelFormat get_base_pixelformat(PixelFormat);
71 PixelFormat get_unsized_pixelformat(PixelFormat);
72 PixelFormat get_sized_pixelformat(PixelFormat, unsigned = 1);
73 PixelFormat get_default_sized_pixelformat(PixelFormat);
74 PixelFormat get_srgb_pixelformat(PixelFormat);
75 unsigned get_component_count(PixelFormat);
76 unsigned get_component_size(PixelFormat);
77 unsigned get_pixel_size(PixelFormat);
79 void require_pixelformat(PixelFormat);