]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/pixelformat.h
Move all OpenGL-specific code to a separate directory
[libs/gl.git] / source / core / pixelformat.h
index dde8594e723793a001c6166e575f18f8119aa86d..71a8bd4c3de6c98994e618d3a382be4b9dbc1791 100644 (file)
@@ -1,19 +1,8 @@
 #ifndef MSP_GL_PIXELFORMAT_H_
 #define MSP_GL_PIXELFORMAT_H_
 
-#include <msp/core/attributes.h>
 #include <msp/graphics/image.h>
 #include <msp/strings/lexicalcast.h>
-#include "gl.h"
-#include <msp/gl/extensions/arb_depth_buffer_float.h>
-#include <msp/gl/extensions/arb_depth_texture.h>
-#include <msp/gl/extensions/arb_texture_float.h>
-#include <msp/gl/extensions/arb_texture_rg.h>
-#include <msp/gl/extensions/ext_bgra.h>
-#include <msp/gl/extensions/ext_texture_srgb.h>
-#include <msp/gl/extensions/oes_required_internalformat.h>
-#include <msp/gl/extensions/oes_texture_stencil8.h>
-#include <msp/gl/extensions/msp_luminance_formats.h>
 #include "datatype.h"
 
 namespace Msp {
@@ -64,6 +53,7 @@ inadvisable for programs to rely on it.
 */
 enum PixelFormat
 {
+       NO_PIXELFORMAT = 0,
        R8 = 0x4100|RED,
        R16F = 0x3200|RED,
        R32F = 0x3400|RED,
@@ -95,7 +85,7 @@ void operator>>(const LexicalConverter &, PixelComponents &);
 void operator>>(const LexicalConverter &, PixelFormat &);
 
 PixelComponents components_from_graphics(Graphics::PixelFormat);
-PixelFormat pixelformat_from_image(const Graphics::Image &);
+PixelFormat pixelformat_from_image(const Graphics::Image &, bool = false);
 
 PixelFormat make_pixelformat(PixelComponents, DataType, bool = false);
 inline PixelComponents get_components(PixelFormat f) { return static_cast<PixelComponents>(f&0xFF); }
@@ -108,10 +98,9 @@ inline unsigned get_pixel_size(PixelFormat f) { return get_component_count(f)*ge
 
 void require_pixelformat(PixelFormat);
 
-GLenum get_gl_components(PixelComponents);
-GLenum get_gl_pixelformat(PixelFormat);
-
 } // namespace GL
 } // namespace Msp
 
+#include "pixelformat_backend.h"
+
 #endif