X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fframebuffer.h;h=5a9993dae202421f1c6434ebe5bb4bd006c5569f;hb=e19309340e90ee881e9cb2f8b7c33a5b89681aa6;hp=f34ecf5c6eeea0204eaa685dfee5e7f4537e75b9;hpb=357acfb941a8b5b4a6fb36e2134707d46e028d88;p=libs%2Fgl.git diff --git a/source/framebuffer.h b/source/framebuffer.h index f34ecf5c..5a9993da 100644 --- a/source/framebuffer.h +++ b/source/framebuffer.h @@ -6,6 +6,8 @@ #include "gl.h" #include "texturecube.h" #include +#include +#include namespace Msp { namespace GL { @@ -13,6 +15,7 @@ namespace GL { class Renderbuffer; class Texture; class Texture2D; +class Texture3D; enum FramebufferAttachment { @@ -40,8 +43,7 @@ enum BufferBits { COLOR_BUFFER_BIT = GL_COLOR_BUFFER_BIT, DEPTH_BUFFER_BIT = GL_DEPTH_BUFFER_BIT, - STENCIL_BUFFER_BIT = GL_STENCIL_BUFFER_BIT, - ACCUM_BUFFER_BIT = GL_ACCUM_BUFFER_BIT + STENCIL_BUFFER_BIT = GL_STENCIL_BUFFER_BIT }; enum RWBuffer @@ -90,11 +92,11 @@ private: Texture *tex; }; unsigned level; - GLenum cube_face; + unsigned layer; Attachment(FramebufferAttachment); void set(Renderbuffer &); - void set(Texture &, GLenum, unsigned); + void set(Texture &, unsigned, unsigned); void clear(); }; @@ -130,6 +132,7 @@ private: public: void attach(FramebufferAttachment attch, Renderbuffer &rbuf); void attach(FramebufferAttachment attch, Texture2D &tex, unsigned level = 0); + void attach(FramebufferAttachment attch, Texture3D &tex, unsigned layer, unsigned level = 0); void attach(FramebufferAttachment attch, TextureCube &tex, TextureCubeFace face, unsigned level = 0); void detach(FramebufferAttachment attch);