22 #ifndef BACKENDS_GRAPHICS_OPENGL_FRAMEBUFFER_H 23 #define BACKENDS_GRAPHICS_OPENGL_FRAMEBUFFER_H 25 #include "graphics/opengl/system_headers.h" 27 #include "math/matrix4.h" 29 #include "common/rotationmode.h" 87 void setClearColor(GLfloat r, GLfloat g, GLfloat b, GLfloat a);
110 kCopyMaskClearColor = (1 << 0),
111 kCopyMaskBlendState = (1 << 1),
112 kCopyMaskScissorState = (1 << 2),
113 kCopyMaskScissorBox = (1 << 4),
115 kCopyMaskAll = kCopyMaskClearColor | kCopyMaskBlendState |
116 kCopyMaskScissorState | kCopyMaskScissorBox,
125 bool isActive()
const {
return _pipeline !=
nullptr; }
128 void applyViewport();
130 Math::Matrix4 _projectionMatrix;
131 void applyProjectionMatrix();
167 GLfloat _clearColor[4];
168 void applyClearColor();
171 void applyBlendState();
173 bool _scissorTestState;
174 void applyScissorTestState();
176 GLint _scissorBox[4];
177 void applyScissorBox();
Definition: framebuffer.h:183
void setClearColor(GLfloat r, GLfloat g, GLfloat b, GLfloat a)
Definition: framebuffer.h:38
void setScissorBox(GLint x, GLint y, GLsizei w, GLsizei h)
void copyRenderStateFrom(const Framebuffer &other, uint copyMask)
Definition: framebuffer.h:81
Definition: framebuffer.h:55
GLTexture * getTexture() const
Definition: framebuffer.h:226
virtual void deactivateInternal()
Definition: framebuffer.h:146
virtual bool setSize(uint width, uint height, Common::RotationMode rotation)=0
BlendMode
Definition: framebuffer.h:44
const Math::Matrix4 & getProjectionMatrix() const
Definition: framebuffer.h:107
Definition: framebuffer.h:203
void enableScissorTest(bool enable)
void enableBlend(BlendMode mode)
Definition: framebuffer.h:49
void activate(Pipeline *pipeline)
Definition: renderbuffer.h:27
Definition: framebuffer.h:61
Definition: framebuffer.h:70
RotationMode
Definition: rotationmode.h:44
virtual void activateInternal()=0
Definition: framebuffer.h:75
Definition: pipeline.h:42