27 #ifndef _CEGUIOpenGL3Renderer_h_
28 #define _CEGUIOpenGL3Renderer_h_
30 #include "RendererBase.h"
35 class OpenGL3ShaderManager;
36 class OpenGL3StateChangeWrapper;
42 class OPENGL_GUIRENDERER_API OpenGL3Renderer :
public OpenGLRendererBase
64 static OpenGL3Renderer& bootstrapSystem(
const int abi = CEGUI_VERSION_ABI);
88 static OpenGL3Renderer& bootstrapSystem(
const Sizef& display_size,
89 const int abi = CEGUI_VERSION_ABI);
106 static void destroySystem();
119 static OpenGL3Renderer& create(
const int abi = CEGUI_VERSION_ABI);
135 static OpenGL3Renderer& create(
const Sizef& display_size,
136 const int abi = CEGUI_VERSION_ABI);
145 static void destroy(OpenGL3Renderer& renderer);
155 OpenGL3Shader*& getShaderStandard();
165 GLint getShaderStandardPositionLoc();
177 GLint getShaderStandardTexCoordLoc();
188 GLint getShaderStandardColourLoc();
198 GLint getShaderStandardMatrixUniformLoc();
208 OpenGL3StateChangeWrapper* getOpenGLStateChanger();
211 void beginRendering();
213 Sizef getAdjustedTextureSize(
const Sizef& sz)
const;
214 bool isS3TCSupported()
const;
215 void setupRenderingBlendMode(
const BlendMode mode,
216 const bool force =
false);
219 OpenGLGeometryBufferBase* createGeometryBuffer_impl();
220 TextureTarget* createTextureTarget_impl();
222 void initialiseRendererIDString();
245 OpenGL3Renderer(
const Sizef& display_size);
247 void initialiseOpenGLShaders();
248 void initialiseGLExtensions();
254 virtual ~OpenGL3Renderer();
257 void initialiseTextureTargetFactory();
260 void setupExtraStates();
263 OpenGL3Shader* d_shaderStandard;
265 GLint d_shaderStandardPosLoc;
267 GLint d_shaderStandardTexCoordLoc;
269 GLint d_shaderStandardColourLoc;
271 GLint d_shaderStandardMatrixLoc;
273 OpenGL3StateChangeWrapper* d_openGLStateChanger;
274 OpenGL3ShaderManager* d_shaderManager;
276 bool d_s3tcSupported;
278 OGLTextureTargetFactory* d_textureTargetFactory;
Main namespace for Crazy Eddie's GUI Library.
Definition: cegui/include/CEGUI/Affector.h:42
BlendMode
Enumerated type that contains the valid options that specify the type of blending that is to be perfo...
Definition: cegui/include/CEGUI/Renderer.h:61