#include "color.h"
#include "framebuffer_backend.h"
#include "frameformat.h"
+#include "rect.h"
#include "texturecube.h"
namespace Msp {
FrameFormat format;
std::vector<Attachment> attachments;
- unsigned width;
- unsigned height;
- mutable unsigned dirty;
+ unsigned width = 0;
+ unsigned height = 0;
+ unsigned layers = 0;
+ mutable unsigned dirty = 0;
Framebuffer(bool);
public:
unsigned get_width() const { return width; }
unsigned get_height() const { return height; }
+ Rect get_rect() const { return Rect(0, 0, width, height); }
+ unsigned get_layers() const { return layers; }
protected:
void update() const;
void attach_layered(FrameAttachment attch, TextureCube &, unsigned level = 0);
void detach(FrameAttachment attch);
+ const Texture *get_attachment(FrameAttachment) const;
+ const Texture *get_attachment(unsigned) const;
+
/** Ensures that the framebuffer is complete, throwing an exception if it
isn't. */
void require_complete() const;