Ogre::RenderToVertexBuffer Class Referenceabstract
Core » RenderSystem

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

`#include <OgreRenderToVertexBuffer.h>`

## Public Member Functions

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

## Protected Attributes

MaterialPtr | mMaterial
unsigned int | mMaxVertexCount
RenderOperation::OperationType | mOperationType
bool | mResetRequested
bool | mResetsEveryUpdate
Renderable * | mSourceRenderable
VertexData * | mVertexData

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

## Constructor & Destructor Documentation

## RenderToVertexBuffer()

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

C'tor.

## ~RenderToVertexBuffer()

virtual Ogre::RenderToVertexBuffer::~RenderToVertexBuffer | ( |  | ) |

virtual

D'tor.

## Member Function Documentation

## getMaxVertexCount()

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

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

Definition at line 70 of file OgreRenderToVertexBuffer.h.

## getOperationType()

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

What type of primitives does this object generate?

Definition at line 80 of file OgreRenderToVertexBuffer.h.

## getRenderOperation()

virtual void Ogre::RenderToVertexBuffer::getRenderOperation | ( | RenderOperation & | op | ) |

pure virtual

Get the render operation for this buffer.

## getRenderToBufferMaterial()

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

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

Definition at line 129 of file OgreRenderToVertexBuffer.h.

## getResetsEveryUpdate()

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

Does this object reset its buffer each time it updates?

Definition at line 95 of file OgreRenderToVertexBuffer.h.

## getSourceRenderable()

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

Get the source renderable of this object.

Definition at line 123 of file OgreRenderToVertexBuffer.h.

## getVertexDeclaration()

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!

## reset()

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

## setMaxVertexCount()

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

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

Definition at line 75 of file OgreRenderToVertexBuffer.h.

## setOperationType()

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

Set the type of primitives that this object generates.

Definition at line 85 of file OgreRenderToVertexBuffer.h.

## setRenderToBufferMaterialName()

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

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

## setResetsEveryUpdate()

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

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

Definition at line 90 of file OgreRenderToVertexBuffer.h.

## setSourceRenderable()

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

## update()

virtual void Ogre::RenderToVertexBuffer::update | ( | SceneManager * | sceneMgr | ) |

pure virtual

Update the contents of this vertex buffer by rendering.

## Member Data Documentation

## mMaterial

MaterialPtr Ogre::RenderToVertexBuffer::mMaterial

protected

Definition at line 140 of file OgreRenderToVertexBuffer.h.

## mMaxVertexCount

unsigned int Ogre::RenderToVertexBuffer::mMaxVertexCount

protected

Definition at line 143 of file OgreRenderToVertexBuffer.h.

## mOperationType

RenderOperation::OperationType Ogre::RenderToVertexBuffer::mOperationType

protected

Definition at line 137 of file OgreRenderToVertexBuffer.h.

## mResetRequested

bool Ogre::RenderToVertexBuffer::mResetRequested

protected

Definition at line 139 of file OgreRenderToVertexBuffer.h.

## mResetsEveryUpdate

bool Ogre::RenderToVertexBuffer::mResetsEveryUpdate

protected

Definition at line 138 of file OgreRenderToVertexBuffer.h.

## mSourceRenderable

Renderable* Ogre::RenderToVertexBuffer::mSourceRenderable

protected

Definition at line 141 of file OgreRenderToVertexBuffer.h.

## mVertexData

VertexData* Ogre::RenderToVertexBuffer::mVertexData

protected

Definition at line 142 of file OgreRenderToVertexBuffer.h.

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

- OgreRenderToVertexBuffer.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.