#define MSP_GL_FRAMEBUFFER_H_
#include <vector>
+#include "color.h"
#include "frameformat.h"
-#include "gl.h"
#include "texturecube.h"
#include <msp/gl/extensions/arb_geometry_shader4.h>
#include <msp/gl/extensions/ext_framebuffer_multisample.h>
class Texture3D;
class WindowView;
-enum BufferBits
-{
- COLOR_BUFFER_BIT = GL_COLOR_BUFFER_BIT,
- DEPTH_BUFFER_BIT = GL_DEPTH_BUFFER_BIT,
- STENCIL_BUFFER_BIT = GL_STENCIL_BUFFER_BIT
-};
-
class framebuffer_incomplete: public std::runtime_error
{
public:
static Framebuffer &system();
};
-inline BufferBits operator|(BufferBits a, BufferBits b)
-{ return static_cast<BufferBits>(static_cast<int>(a)|static_cast<int>(b)); }
+
+union ClearValue
+{
+ Color color;
+ struct
+ {
+ float depth;
+ int stencil;
+ } depth_stencil;
+
+ ClearValue(): color(0.0f, 0.0f, 0.0f, 0.0f) { }
+};
} // namespace GL
} // namespace Msp