28 #ifndef _CEGUIOpenGLRenderer_h_
29 #define _CEGUIOpenGLRenderer_h_
31 #include "RendererBase.h"
39 class OPENGL_GUIRENDERER_API OpenGLRenderer :
public OpenGLRendererBase
43 enum TextureTargetType
78 static OpenGLRenderer& bootstrapSystem(
79 const TextureTargetType tt_type = TTT_AUTO,
80 const int abi = CEGUI_VERSION_ABI);
108 static OpenGLRenderer& bootstrapSystem(
const Sizef& display_size,
109 const TextureTargetType tt_type = TTT_AUTO,
110 const int abi = CEGUI_VERSION_ABI);
127 static void destroySystem();
140 static OpenGLRenderer& create(
const TextureTargetType tt_type = TTT_AUTO,
141 const int abi = CEGUI_VERSION_ABI);
157 static OpenGLRenderer& create(
const Sizef& display_size,
158 const TextureTargetType tt_type = TTT_AUTO,
159 const int abi = CEGUI_VERSION_ABI);
168 static void destroy(OpenGLRenderer& renderer);
171 void beginRendering();
173 bool isS3TCSupported()
const;
174 void setupRenderingBlendMode(
const BlendMode mode,
175 const bool force =
false);
176 void setViewProjectionMatrix(
const mat4Pimpl* viewProjectionMatrix);
180 OpenGLGeometryBufferBase* createGeometryBuffer_impl();
181 TextureTarget* createTextureTarget_impl();
183 void initialiseRendererIDString();
193 OpenGLRenderer(
const TextureTargetType tt_type);
206 OpenGLRenderer(
const Sizef& display_size,
const TextureTargetType tt_type);
212 virtual ~OpenGLRenderer();
215 void setupExtraStates();
218 void cleanupExtraStates();
221 void initialiseTextureTargetFactory(
const TextureTargetType tt_type);
223 void initialiseGLExtensions();
226 OGLTextureTargetFactory* d_textureTargetFactory;