Eidolon
|
#include <OgreRenderTypes.h>
Classes | |
struct | Vertex |
Fixed definition of a vertex used in the renderer. More... | |
Public Member Functions | |
OgreBaseRenderable (const std::string &name, const std::string &matname, Ogre::RenderOperation::OperationType opType, Ogre::SceneManager *mgr) throw (RenderException) | |
virtual | ~OgreBaseRenderable () |
void | setParentObjects (Figure *parent, OgreRenderScene *scene) |
void | setDepthSorting (bool val) |
Mutex * | getMutex () |
virtual void | createBuffers (size_t numVerts, size_t numInds, bool deferCreate=false) |
Create the hardware buffers with the given number of vertices and indices (NOTE: must be executed in renderer thread) More... | |
virtual void | destroyBuffers () |
Delete the hardware and local buffers (NOTE: must be executed in renderer thread) More... | |
virtual void | _updateRenderQueue (Ogre::RenderQueue *queue) |
virtual void | getRenderOperation (Ogre::RenderOperation &op) |
virtual void | _notifyCurrentCamera (Ogre::Camera *cam) |
Vertex * | getLocalVertBuff () |
Get (and allocate if needed) the local memory vertex buffer of the same size as the hardware buffer. More... | |
indexval * | getLocalIndBuff () |
Get (and allocate if needed) the local memory index buffer of the same size as the hardware buffer. More... | |
void | commitBuffers (bool commitVert=true, bool commitInd=true) |
Copy the local buffers to the hardware buffers (NOTE: must be executed in renderer thread) More... | |
void | commitMatrices (const Matrix< Vertex > *verts, const IndexMatrix *inds) |
Copy the data from matrices to the hardware buffers (NOTE: must be executed in renderer thread) More... | |
void | deleteLocalVertBuff () |
void | deleteLocalIndBuff () |
void | fillDefaultData (bool deferFill=false) |
size_t | numVertices () const |
size_t | numIndices () const |
Ogre::RenderOperation::OperationType | opType () const |
Ogre::HardwareVertexBufferSharedPtr | getVertexBuffer () const |
Ogre::HardwareIndexBufferSharedPtr | getIndexBuffer () const |
virtual const Ogre::MaterialPtr & | getMaterial () const |
virtual void | setMaterial (const Ogre::MaterialPtr &m) |
virtual void | setMaterial (const std::string &m) throw (RenderException) |
virtual void | getWorldTransforms (Ogre::Matrix4 *xform) const |
virtual Ogre::Real | getSquaredViewDepth (const Ogre::Camera *cam) const |
virtual const Ogre::LightList & | getLights () const |
virtual const Ogre::String & | getMovableType () const |
virtual const Ogre::AxisAlignedBox & | getBoundingBox () const |
virtual Ogre::Real | getBoundingRadius () const |
virtual void | setBoundingBox (vec3 minv, vec3 maxv) |
virtual void | visitRenderables (Ogre::Renderable::Visitor *visitor, bool debugRenderables) |
Protected Attributes | |
Figure * | parent |
Parent figure this renderable is used by. More... | |
OgreRenderScene * | scene |
The root scene which renders this object. More... | |
Ogre::VertexData * | vertexData |
Ogre::HardwareVertexBufferSharedPtr | vertBuf |
Ogre::IndexData * | indexData |
Ogre::RenderOperation::OperationType | _opType |
bool | deferFillOp |
size_t | _numVertices |
size_t | _numIndices |
Vertex * | localVertBuff |
Vertex buffer in main memory used to stage data before being committed to video memory. More... | |
indexval * | localIndBuff |
Index buffer in main memory used to stage data before being committed to video memory. More... | |
Ogre::MaterialPtr | mat |
Ogre::AxisAlignedBox | aabb |
Ogre::Real | boundRad |
Ogre::String | movableType |
vec3 | lastCamPos |
bool | depthSorting |
Mutex | mutex |
Static Protected Attributes | |
static Ogre::HardwareBuffer::Usage | vertexBufferUsage =Ogre::HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY |
Sets vertex buffer to be write only. More... | |
static Ogre::HardwareBuffer::Usage | indexBufferUsage =Ogre::HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY |
Sets index buffer to be write only. More... | |
This is the base class for Ogre renderables used by the Figure subtypes.
It manages Ogre vertex and index hardware data buffers directly and provides facilities for filling data into local buffers which are later copied to the hardware buffers. It extends the basic Ogre types needed to represent a renderable object in a scene. It uses an internal Vertex type having position, normal, color, and texture components.
OgreBaseRenderable | ( | const std::string & | name, |
const std::string & | matname, | ||
Ogre::RenderOperation::OperationType | opType, | ||
Ogre::SceneManager * | mgr | ||
) | |||
throw | ( | RenderException | |
) |
|
inlinevirtual |
|
virtual |
Reimplemented in TextRenderable, and TextureVolumeRenderable.
|
virtual |
Reimplemented in TextRenderable, and TextureVolumeRenderable.
void commitBuffers | ( | bool | commitVert = true , |
bool | commitInd = true |
||
) |
Copy the local buffers to the hardware buffers (NOTE: must be executed in renderer thread)
void commitMatrices | ( | const Matrix< Vertex > * | verts, |
const IndexMatrix * | inds | ||
) |
Copy the data from matrices to the hardware buffers (NOTE: must be executed in renderer thread)
|
virtual |
Create the hardware buffers with the given number of vertices and indices (NOTE: must be executed in renderer thread)
|
inline |
|
inline |
|
virtual |
Delete the hardware and local buffers (NOTE: must be executed in renderer thread)
void fillDefaultData | ( | bool | deferFill = false | ) |
|
inlinevirtual |
|
inlinevirtual |
|
inline |
|
inlinevirtual |
indexval * getLocalIndBuff | ( | ) |
Get (and allocate if needed) the local memory index buffer of the same size as the hardware buffer.
OgreBaseRenderable::Vertex * getLocalVertBuff | ( | ) |
Get (and allocate if needed) the local memory vertex buffer of the same size as the hardware buffer.
|
inlinevirtual |
|
inlinevirtual |
|
inline |
|
virtual |
|
inlinevirtual |
|
inline |
|
inlinevirtual |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
|
inlinevirtual |
|
inline |
|
inlinevirtual |
Reimplemented in TextRenderable.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
Sets index buffer to be write only.
|
protected |
|
protected |
|
protected |
Index buffer in main memory used to stage data before being committed to video memory.
|
protected |
Vertex buffer in main memory used to stage data before being committed to video memory.
|
protected |
|
protected |
|
protected |
|
protected |
Parent figure this renderable is used by.
|
protected |
The root scene which renders this object.
|
protected |
|
staticprotected |
Sets vertex buffer to be write only.
|
protected |