-/* $Id$
-
-This file is part of libmspgl
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
#ifndef MSP_GL_FRAMEBUFFER_H_
#define MSP_GL_FRAMEBUFFER_H_
#include <vector>
#include "bindable.h"
#include "gl.h"
+#include "texturecube.h"
namespace Msp {
namespace GL {
Texture *tex;
};
unsigned level;
+ GLenum cube_face;
Attachment(FramebufferAttachment);
void set(Renderbuffer &);
- void set(Texture &, unsigned);
+ void set(Texture &, GLenum, unsigned);
void clear();
};
Framebuffer();
~Framebuffer();
+ unsigned get_width() const { return width; }
+ unsigned get_height() const { return height; }
+
private:
void update_attachment(unsigned) const;
void check_size();
public:
void attach(FramebufferAttachment attch, Renderbuffer &rbuf);
- void attach(FramebufferAttachment attch, Texture2D &tex, unsigned level);
+ void attach(FramebufferAttachment attch, Texture2D &tex, unsigned level = 0);
+ void attach(FramebufferAttachment attch, TextureCube &tex, TextureCubeFace face, unsigned level = 0);
void detach(FramebufferAttachment attch);
/**
FramebufferStatus check_status() const;
void clear(BufferBits);
+ void blit_from(const Framebuffer &, int, int, int, int, int, int, int, int, BufferBits, bool);
+ void blit_from(const Framebuffer &, int, int, unsigned, unsigned, int, int, BufferBits);
+ void blit_from(const Framebuffer &, BufferBits, bool);
void bind() const;