Files
vimix/FrameBuffer.h
2020-04-05 11:44:01 +02:00

39 lines
834 B
C++

#ifndef FRAMEBUFFER_H
#define FRAMEBUFFER_H
#include "Scene.h"
#include "RenderingManager.h"
class FrameBuffer {
public:
FrameBuffer(uint width, uint height, bool useDepthBuffer = false);
~FrameBuffer();
// bind the FrameBuffer as current to draw into
void bind();
void begin();
void end();
// release any framebuffer object
static void release();
// blit copy to another, returns true on success
bool blit(FrameBuffer *other);
inline uint width() const { return attrib_.viewport.x; }
inline uint height() const { return attrib_.viewport.y; }
inline uint texture() const { return textureid_; }
float aspectRatio() const;
private:
void checkFramebufferStatus();
RenderingAttrib attrib_;
uint textureid_;
uint framebufferid_;
};
#endif // FRAMEBUFFER_H