28 #ifndef _CEGUIRendererBase_h_
29 #define _CEGUIRendererBase_h_
31 #include "../../Base.h"
32 #include "../../Renderer.h"
33 #include "../../Size.h"
34 #include "../../Vector.h"
35 #include "../../Rect.h"
36 #include "../../TextureTarget.h"
37 #include "CEGUI/RendererModules/OpenGL/GL.h"
42 # pragma warning(push)
43 # pragma warning(disable : 4251)
49 class OpenGLGeometryBufferBase;
60 void destroyAllGeometryBuffers();
63 void destroyAllTextureTargets();
67 const String& resourceGroup);
69 void destroyTexture(
Texture& texture);
70 void destroyTexture(
const String& name);
71 void destroyAllTextures();
73 bool isTextureDefined(
const String& name)
const;
74 void setDisplaySize(
const Sizef& sz);
75 const Sizef& getDisplaySize()
const;
76 const Vector2f& getDisplayDPI()
const;
77 uint getMaxTextureSize()
const;
78 const String& getIdentifierString()
const;
115 void enableExtraStateSettings(
bool setting);
131 void restoreTextures();
144 virtual Sizef getAdjustedTextureSize(
const Sizef& sz)
const;
151 static float getNextPOTSize(
const float f);
154 virtual void setupRenderingBlendMode(
const BlendMode mode,
155 const bool force =
false) = 0;
158 virtual bool isS3TCSupported()
const = 0;
167 virtual const mat4Pimpl* getViewProjectionMatrix();
176 virtual void setViewProjectionMatrix(
const mat4Pimpl* viewProjectionMatrix);
247 void init (
bool init_glew=
false,
bool set_glew_experimental=
false);
253 static void logTextureCreation(
const String& name);
255 static void logTextureDestruction(
const String& name);
258 void initialiseMaxTextureSize();
261 void initialiseDisplaySizeWithViewportSize();
321 #if defined(_MSC_VER)
322 # pragma warning(pop)
bool d_initExtraStates
option of whether to initialise extra states that may not be at default
Definition: RendererBase.h:293
std::vector< OpenGLGeometryBufferBase * > GeometryBufferList
container type used to hold GeometryBuffers created.
Definition: RendererBase.h:282
bool isTexCoordSystemFlipped() const
Returns if the texture coordinate system is vertically flipped or not. The original of a texture coor...
Definition: RendererBase.h:220
Functor that can be used as comparator in a std::map with String keys. It's faster than using the def...
Definition: String.h:5579
Definition: MemoryAllocatedObject.h:109
std::vector< TextureTarget * > TextureTargetList
container type used to hold TextureTargets we create.
Definition: RendererBase.h:278
TextureTargetList d_textureTargets
Container used to track texture targets.
Definition: RendererBase.h:280
Main namespace for Crazy Eddie's GUI Library.
Definition: arch_overview.dox:1
RenderTarget * d_defaultTarget
The default RenderTarget.
Definition: RendererBase.h:276
Abstract class defining the interface for objects that buffer geometry for later rendering.
Definition: GeometryBuffer.h:42
uint d_maxTextureSize
What the renderer thinks the max texture size is.
Definition: RendererBase.h:291
RenderTarget * d_activeRenderTarget
The active RenderTarget.
Definition: RendererBase.h:299
Specialisation of RenderTarget interface that should be used as the base class for RenderTargets that...
Definition: TextureTarget.h:40
GeometryBufferList d_geometryBuffers
Container used to track geometry buffers.
Definition: RendererBase.h:284
Sizef d_displaySize
What the renderer considers to be the current display size.
Definition: RendererBase.h:272
Abstract base class specifying the required interface for Texture objects.
Definition: Texture.h:52
std::map< String, OpenGLTexture *, StringFastLessCompare CEGUI_MAP_ALLOC(String, OpenGLTexture *)> TextureMap
container type used to hold Textures we create.
Definition: RendererBase.h:287
OpenGL based implementation of the GeometryBuffer interface.
Definition: GeometryBufferBase.h:52
Abstract class defining the basic required interface for Renderer objects.
Definition: Renderer.h:82
BlendMode
Enumerated type that contains the valid options that specify the type of blending that is to be perfo...
Definition: Renderer.h:61
Definition: RendererBase.h:309
Defines interface to some surface that can be rendered to. Concrete instances of objects that impleme...
Definition: RenderTarget.h:57
TextureMap d_textures
Container used to track textures.
Definition: RendererBase.h:289
static String d_rendererID
String holding the renderer identification text.
Definition: RendererBase.h:270
Common base class used for other OpenGL (desktop or ES) based renderer modules.
Definition: RendererBase.h:53
Vector2f d_displayDPI
What the renderer considers to be the current display DPI resolution.
Definition: RendererBase.h:274
Definition: GlmPimpl.h:36
BlendMode d_activeBlendMode
What blend mode we think is active.
Definition: RendererBase.h:295
Texture implementation for the OpenGLRenderer.
Definition: RendererModules/OpenGL/Texture.h:44
String class used within the GUI system.
Definition: String.h:62
mat4Pimpl * d_viewProjectionMatrix
View projection matrix.
Definition: RendererBase.h:297