# Ogre::RenderToVertexBuffer Class Reference

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

`#include <OgreRenderToVertexBuffer.h>`

List of all members.

## Public Member Functions

| RenderToVertexBuffer ()
| C'tor.
virtual | ~RenderToVertexBuffer ()
| D'tor.
VertexDeclaration * | getVertexDeclaration ()
| 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 | getRenderOperation (RenderOperation &op)=0
| Get the render operation for this buffer.
virtual void | update (SceneManager *sceneMgr)=0
| Update the contents of this vertex buffer by rendering.
virtual void | reset ()
| Reset the vertex buffer to the initial state.
void | setSourceRenderable (Renderable *source)
| Set the source renderable of this object.
const Renderable * | getSourceRenderable () const
| Get the source renderable of this object.
const MaterialPtr & | getRenderToBufferMaterial ()
| 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 Attributes

RenderOperation::OperationType | mOperationType
bool | mResetsEveryUpdate
bool | mResetRequested
MaterialPtr | mMaterial
Renderable * | mSourceRenderable
VertexData * | mVertexData
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 46 of file OgreRenderToVertexBuffer.h.

## Constructor & Destructor Documentation

Ogre::RenderToVertexBuffer::RenderToVertexBuffer | ( |  | ) |

C'tor.

virtual Ogre::RenderToVertexBuffer::~RenderToVertexBuffer | ( |  | ) | `[virtual]`

D'tor.

## Member Function Documentation

VertexDeclaration* Ogre::RenderToVertexBuffer::getVertexDeclaration | ( |  | ) |

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!

unsigned int Ogre::RenderToVertexBuffer::getMaxVertexCount | ( |  | ) | const

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

Definition at line 65 of file OgreRenderToVertexBuffer.h.

void Ogre::RenderToVertexBuffer::setMaxVertexCount | ( | unsigned int | maxVertexCount | ) |

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

Definition at line 70 of file OgreRenderToVertexBuffer.h.

RenderOperation::OperationType Ogre::RenderToVertexBuffer::getOperationType | ( |  | ) | const

What type of primitives does this object generate?

Definition at line 75 of file OgreRenderToVertexBuffer.h.

void Ogre::RenderToVertexBuffer::setOperationType | ( | RenderOperation::OperationType | operationType | ) |

Set the type of primitives that this object generates.

Definition at line 80 of file OgreRenderToVertexBuffer.h.

void Ogre::RenderToVertexBuffer::setResetsEveryUpdate | ( | bool | resetsEveryUpdate | ) |

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

Definition at line 85 of file OgreRenderToVertexBuffer.h.

bool Ogre::RenderToVertexBuffer::getResetsEveryUpdate | ( |  | ) | const

Does this object reset its buffer each time it updates?

Definition at line 90 of file OgreRenderToVertexBuffer.h.

virtual void Ogre::RenderToVertexBuffer::getRenderOperation | ( | RenderOperation & | op | ) | `[pure virtual]`

Get the render operation for this buffer.

virtual void Ogre::RenderToVertexBuffer::update | ( | SceneManager * | sceneMgr | ) | `[pure virtual]`

Update the contents of this vertex buffer by rendering.

virtual void Ogre::RenderToVertexBuffer::reset | ( | void |  | ) | `[virtual]`

Reset the vertex buffer to the initial state.

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

Definition at line 106 of file OgreRenderToVertexBuffer.h.

void Ogre::RenderToVertexBuffer::setSourceRenderable | ( | Renderable * | source | ) |

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 113 of file OgreRenderToVertexBuffer.h.

const Renderable* Ogre::RenderToVertexBuffer::getSourceRenderable | ( |  | ) | const

Get the source renderable of this object.

Definition at line 118 of file OgreRenderToVertexBuffer.h.

const MaterialPtr& Ogre::RenderToVertexBuffer::getRenderToBufferMaterial | ( |  | ) |

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

Definition at line 124 of file OgreRenderToVertexBuffer.h.

void Ogre::RenderToVertexBuffer::setRenderToBufferMaterialName | ( | const String & | materialName | ) |

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

## Member Data Documentation

RenderOperation::OperationType Ogre::RenderToVertexBuffer::mOperationType `[protected]`

Definition at line 132 of file OgreRenderToVertexBuffer.h.

bool Ogre::RenderToVertexBuffer::mResetsEveryUpdate `[protected]`

Definition at line 133 of file OgreRenderToVertexBuffer.h.

bool Ogre::RenderToVertexBuffer::mResetRequested `[protected]`

Definition at line 134 of file OgreRenderToVertexBuffer.h.

MaterialPtr Ogre::RenderToVertexBuffer::mMaterial `[protected]`

Definition at line 135 of file OgreRenderToVertexBuffer.h.

Renderable* Ogre::RenderToVertexBuffer::mSourceRenderable `[protected]`

Definition at line 136 of file OgreRenderToVertexBuffer.h.

VertexData* Ogre::RenderToVertexBuffer::mVertexData `[protected]`

Definition at line 137 of file OgreRenderToVertexBuffer.h.

unsigned int Ogre::RenderToVertexBuffer::mMaxVertexCount `[protected]`

Definition at line 138 of file OgreRenderToVertexBuffer.h.

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

- OgreRenderToVertexBuffer.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Dec 27 17:34:26 2009