22 #ifndef BACKENDS_GRAPHICS_OPENGL_RENDERER3D_H 23 #define BACKENDS_GRAPHICS_OPENGL_RENDERER3D_H 25 #include "common/scummsys.h" 27 #if defined(USE_OPENGL_GAME) || defined(USE_OPENGL_SHADERS) 29 #include "graphics/opengl/texture.h" 36 ~Renderer3D() { destroy(); }
38 void initSize(uint w, uint h,
int samples,
bool renderToFrameBuffer);
39 void resize(uint w, uint h);
47 void showOverlay(uint w, uint h);
50 const Texture &getGLTexture()
const {
return _texture; }
51 bool hasTexture()
const {
return _texture.getGLTexture() != 0; }
60 int _pendingScreenChangeWidth;
61 int _pendingScreenChangeHeight;
63 bool _renderToFrameBuffer;
66 GLuint _renderBuffers[3];
67 GLuint _frameBuffers[2];
69 #define CTX_STATE(gl_param) GLboolean _save ## gl_param = false 70 #define CTX_BOOLEAN(gl_param) GLboolean _save ## gl_param = false 71 #define CTX_INTEGER(gl_param, count) GLint _save ## gl_param[count] = { 0 } 74 CTX_STATE(GL_CULL_FACE);
75 CTX_STATE(GL_DEPTH_TEST);
77 CTX_STATE(GL_POLYGON_OFFSET_FILL);
78 CTX_STATE(GL_SCISSOR_TEST);
79 CTX_STATE(GL_STENCIL_TEST);
81 CTX_BOOLEAN(GL_DEPTH_WRITEMASK);
83 CTX_INTEGER(GL_BLEND_SRC_RGB, 1);
84 CTX_INTEGER(GL_BLEND_DST_RGB, 1);
85 CTX_INTEGER(GL_BLEND_SRC_ALPHA, 1);
86 CTX_INTEGER(GL_BLEND_DST_ALPHA, 1);
87 CTX_INTEGER(GL_SCISSOR_BOX, 4);
88 CTX_INTEGER(GL_VIEWPORT, 4);
97 #endif // defined(USE_OPENGL_GAME) || defined(USE_OPENGL_SHADERS) Definition: renderbuffer.h:27
RotationMode
Definition: rotationmode.h:44