+enum PixelFormat
+{
+ R8 = GL_R8,
+ R16F = GL_R16F,
+ R32F = GL_R32F,
+ RG8 = GL_RG8,
+ RG16F = GL_RG16F,
+ RG32F = GL_RG32F,
+ RGB8 = GL_RGB8,
+ RGB16F = GL_RGB16F,
+ RGB32F = GL_RGB32F,
+ RGBA8 = GL_RGBA8,
+ RGBA16F = GL_RGBA16F,
+ RGBA32F = GL_RGBA32F,
+ SRGB8 = GL_SRGB8,
+ SRGB8_ALPHA8 = GL_SRGB8_ALPHA8,
+ BGR8 = 200000,
+ BGRA8 = 200001,
+ SBGR8 = 200002,
+ SBGR8_ALPHA8 = 200003,
+ LUMINANCE8 = GL_LUMINANCE8,
+ LUMINANCE8_ALPHA8 = GL_LUMINANCE8_ALPHA8,
+ DEPTH_COMPONENT16 = GL_DEPTH_COMPONENT16,
+ DEPTH_COMPONENT24 = GL_DEPTH_COMPONENT24,
+ DEPTH_COMPONENT32 = GL_DEPTH_COMPONENT32,
+ DEPTH_COMPONENT32F = GL_DEPTH_COMPONENT32F,
+ STENCIL_INDEX8 = GL_STENCIL_INDEX8
+};
+
+void operator>>(const LexicalConverter &, PixelComponents &);
+void operator>>(const LexicalConverter &, PixelFormat &);
+
+DEPRECATED PixelComponents pixelformat_from_graphics(Graphics::PixelFormat);
+DEPRECATED PixelComponents storage_pixelformat_from_graphics(Graphics::PixelFormat, bool);
+PixelFormat pixelformat_from_image(const Graphics::Image &);
+
+PixelFormat make_pixelformat(PixelComponents, DataType, bool = false);
+DEPRECATED PixelFormat get_base_pixelformat(PixelFormat);
+PixelComponents get_components(PixelFormat);
+DEPRECATED PixelFormat get_default_sized_pixelformat(PixelComponents);
+DEPRECATED PixelFormat get_srgb_pixelformat(PixelFormat);
+
+unsigned get_component_count(PixelComponents);
+inline unsigned get_component_count(PixelFormat f)
+{ return get_component_count(get_components(f)); }
+
+DataType get_component_type(PixelFormat);
+inline unsigned get_component_size(PixelFormat f)
+{ return get_type_size(get_component_type(f)); }
+
+unsigned get_pixel_size(PixelFormat);
+
+void require_pixelformat(PixelFormat);
+
+DEPRECATED inline PixelFormat get_sized_pixelformat(PixelComponents c, unsigned s = 1)
+{ return make_pixelformat(c, (s==2 ? HALF_FLOAT : s==4 ? FLOAT : UNSIGNED_BYTE)); }