27 #ifndef _CEGUIOgreGeometryBuffer_h_ 28 #define _CEGUIOgreGeometryBuffer_h_ 30 #include "CEGUI/GeometryBuffer.h" 31 #include "CEGUI/RendererModules/Ogre/Renderer.h" 32 #include "CEGUI/Rect.h" 33 #include "CEGUI/Quaternion.h" 35 #include <OgreMatrix4.h> 36 #include <OgreColourValue.h> 37 #include <OgreRenderOperation.h> 38 #include <OgreTexture.h> 43 #ifdef CEGUI_USE_OGRE_HLMS 44 #include <OgreRenderable.h> 57 class OGRE_GUIRENDERER_API OgreGeometryBuffer :
public GeometryBuffer
63 virtual ~OgreGeometryBuffer();
69 virtual void draw()
const;
70 virtual void setTranslation(
const Vector3f& v);
71 virtual void setRotation(
const Quaternion& r);
72 virtual void setPivot(
const Vector3f& p);
73 virtual void setClippingRegion(
const Rectf& region);
74 virtual void appendVertex(
const Vertex& vertex);
75 virtual void appendGeometry(
const Vertex*
const vbuff, uint vertex_count);
76 virtual void setActiveTexture(Texture* texture);
78 virtual Texture* getActiveTexture()
const;
79 virtual uint getVertexCount()
const;
80 virtual uint getBatchCount()
const;
81 virtual void setRenderEffect(RenderEffect* effect);
82 virtual RenderEffect* getRenderEffect();
83 void setClippingActive(
const bool active);
84 bool isClippingActive()
const;
88 Ogre::RGBA colourToOgre(
const Colour& col)
const;
90 void updateMatrix()
const;
92 void syncHardwareBuffer()
const;
94 void initialiseTextureStates()
const;
113 OgreRenderer& d_owner;
117 OgreTexture* d_activeTexture;
121 bool d_clippingActive;
123 Vector3f d_translation;
125 Quaternion d_rotation;
129 RenderEffect* d_effect;
131 Vector2f d_texelOffset;
135 mutable bool d_matrixValid;
136 #ifdef CEGUI_USE_OGRE_HLMS 137 mutable Ogre::v1::RenderOperation d_renderOp;
140 mutable Ogre::v1::HardwareVertexBufferSharedPtr d_hwBuffer;
142 mutable Ogre::RenderOperation d_renderOp;
145 mutable Ogre::HardwareVertexBufferSharedPtr d_hwBuffer;
156 VertexList d_vertices;
162 #endif // end of guard _CEGUIOgreGeometryBuffer_h_ Main namespace for Crazy Eddie's GUI Library.
Definition: cegui/include/CEGUI/Affector.h:42
Definition: python_CEGUIOgreRenderer.h:17
std::vector< OgreVertex > VertexList
type of container used to queue the geometry
Definition: debian/tmp/usr/include/cegui-0.8.5/CEGUI/RendererModules/Ogre/GeometryBuffer.h:154
std::vector< BatchInfo > BatchList
type of container that tracks BatchInfos.
Definition: debian/tmp/usr/include/cegui-0.8.5/CEGUI/RendererModules/Ogre/GeometryBuffer.h:150
Definition: python_CEGUIOgreRenderer.h:23
Definition: python_CEGUIOgreRenderer.h:14
Definition: cegui/include/CEGUI/RendererModules/Ogre/GeometryBuffer.h:48