Public Member Functions | Protected Member Functions | Protected Attributes
Ogre::GLRenderToVertexBuffer Class Reference

An object which renders geometry to a vertex. More...

#include <OgreGLRenderToVertexBuffer.h>

Inheritance diagram for Ogre::GLRenderToVertexBuffer:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 GLRenderToVertexBuffer ()
 C'tor.
virtual ~GLRenderToVertexBuffer ()
 D'tor.
virtual void getRenderOperation (RenderOperation &op)
 Get the render operation for this buffer.
virtual void update (SceneManager *sceneMgr)
 Update the contents of this vertex buffer by rendering.
VertexDeclarationgetVertexDeclaration ()
 Get the vertex declaration that the pass will output.
unsigned int getMaxVertexCount () const
 Get the maximum number of vertices that the buffer will hold.
void setMaxVertexCount (unsigned int maxVertexCount)
 Set the maximum number of vertices that the buffer will hold.
RenderOperation::OperationType getOperationType () const
 What type of primitives does this object generate?
void setOperationType (RenderOperation::OperationType operationType)
 Set the type of primitives that this object generates.
void setResetsEveryUpdate (bool resetsEveryUpdate)
 Set wether this object resets its buffers each time it updates.
bool getResetsEveryUpdate () const
 Does this object reset its buffer each time it updates?
virtual void reset ()
 Reset the vertex buffer to the initial state.
void setSourceRenderable (Renderable *source)
 Set the source renderable of this object.
const RenderablegetSourceRenderable () const
 Get the source renderable of this object.
const MaterialPtrgetRenderToBufferMaterial ()
 Get the material which is used to render the geometry into the vertex buffer.
void setRenderToBufferMaterialName (const String &materialName)
 Set the material name which is used to render the geometry into the vertex buffer.

Protected Member Functions

void reallocateBuffer (size_t index)
void bindVerticesOutput (Pass *pass)
GLint getGLSemanticType (VertexElementSemantic semantic)
String getSemanticVaryingName (VertexElementSemantic semantic, unsigned short index)

Protected Attributes

HardwareVertexBufferSharedPtr mVertexBuffers [2]
size_t mFrontBufferIndex
GLuint mPrimitivesDrawnQuery
RenderOperation::OperationType mOperationType
bool mResetsEveryUpdate
bool mResetRequested
MaterialPtr mMaterial
RenderablemSourceRenderable
VertexDatamVertexData
unsigned int mMaxVertexCount

Detailed Description

An object which renders geometry to a vertex.

Remarks:
This is especially useful together with geometry shaders, as you can render procedural geometry which will get saved to a vertex buffer for reuse later, without regenerating it again. You can also create shaders that run on previous results of those shaders, creating stateful shaders.

Definition at line 44 of file OgreGLRenderToVertexBuffer.h.


Constructor & Destructor Documentation

C'tor.

D'tor.


Member Function Documentation

unsigned int Ogre::RenderToVertexBuffer::getMaxVertexCount ( ) const [inherited]

Get the maximum number of vertices that the buffer will hold.

Definition at line 70 of file OgreRenderToVertexBuffer.h.

What type of primitives does this object generate?

Definition at line 80 of file OgreRenderToVertexBuffer.h.

Get the render operation for this buffer.

Implements Ogre::RenderToVertexBuffer.

Get the material which is used to render the geometry into the vertex buffer.

Definition at line 129 of file OgreRenderToVertexBuffer.h.

Does this object reset its buffer each time it updates?

Definition at line 95 of file OgreRenderToVertexBuffer.h.

String Ogre::GLRenderToVertexBuffer::getSemanticVaryingName ( VertexElementSemantic  semantic,
unsigned short  index 
) [protected]

Get the source renderable of this object.

Definition at line 123 of file OgreRenderToVertexBuffer.h.

Get the vertex declaration that the pass will output.

Remarks:
Use this object to set the elements of the buffer. Object will calculate buffers on its own. Only one source allowed!
void Ogre::GLRenderToVertexBuffer::reallocateBuffer ( size_t  index) [protected]
virtual void Ogre::RenderToVertexBuffer::reset ( void  ) [virtual, inherited]

Reset the vertex buffer to the initial state.

In the next update, the source renderable will be used as input.

Definition at line 111 of file OgreRenderToVertexBuffer.h.

void Ogre::RenderToVertexBuffer::setMaxVertexCount ( unsigned int  maxVertexCount) [inherited]

Set the maximum number of vertices that the buffer will hold.

Definition at line 75 of file OgreRenderToVertexBuffer.h.

Set the type of primitives that this object generates.

Definition at line 85 of file OgreRenderToVertexBuffer.h.

void Ogre::RenderToVertexBuffer::setRenderToBufferMaterialName ( const String materialName) [inherited]

Set the material name which is used to render the geometry into the vertex buffer.

void Ogre::RenderToVertexBuffer::setResetsEveryUpdate ( bool  resetsEveryUpdate) [inherited]

Set wether this object resets its buffers each time it updates.

Definition at line 90 of file OgreRenderToVertexBuffer.h.

Set the source renderable of this object.

During the first (and perhaps later) update of this object, this object's data will be used as input)

Definition at line 118 of file OgreRenderToVertexBuffer.h.

virtual void Ogre::GLRenderToVertexBuffer::update ( SceneManager sceneMgr) [virtual]

Update the contents of this vertex buffer by rendering.

Implements Ogre::RenderToVertexBuffer.


Member Data Documentation

Definition at line 67 of file OgreGLRenderToVertexBuffer.h.

Definition at line 140 of file OgreRenderToVertexBuffer.h.

unsigned int Ogre::RenderToVertexBuffer::mMaxVertexCount [protected, inherited]

Definition at line 143 of file OgreRenderToVertexBuffer.h.

Definition at line 137 of file OgreRenderToVertexBuffer.h.

Definition at line 68 of file OgreGLRenderToVertexBuffer.h.

bool Ogre::RenderToVertexBuffer::mResetRequested [protected, inherited]

Definition at line 139 of file OgreRenderToVertexBuffer.h.

Definition at line 138 of file OgreRenderToVertexBuffer.h.

Definition at line 141 of file OgreRenderToVertexBuffer.h.

Definition at line 66 of file OgreGLRenderToVertexBuffer.h.

Definition at line 142 of file OgreRenderToVertexBuffer.h.


The documentation for this class was generated from the following file:

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Fri May 25 2012 21:49:20