OGRE: Ogre::RenderToVertexBuffer Class Reference

| OGRE 14.5 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Ogre::RenderToVertexBuffer Class Referenceabstract
Core » RenderSystem

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

`#include <OgreRenderToVertexBuffer.h>`

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

## Detailed Description

An object which renders geometry to a vertex.

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.

## Constructor & Destructor Documentation

## ◆ RenderToVertexBuffer()

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

## ◆ ~RenderToVertexBuffer()

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

## Member Function Documentation

## ◆ getVertexDeclaration()

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

Get the vertex declaration that the pass will output.

Use this object to set the elements of the buffer. Object will calculate buffers on its own. Only one source allowed!

## ◆ getMaxVertexCount()

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

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

## ◆ setMaxVertexCount()

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

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

## ◆ getOperationType()

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

What type of primitives does this object generate?

## ◆ setOperationType()

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

Set the type of primitives that this object generates.

## ◆ setResetsEveryUpdate()

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

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

## ◆ getResetsEveryUpdate()

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

Does this object reset its buffer each time it updates?

## ◆ getRenderOperation()

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

Get the render operation for this buffer.

## ◆ update()

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

Update the contents of this vertex buffer by rendering.

## ◆ reset()

virtual void Ogre::RenderToVertexBuffer::reset | ( |  | ) |
| inlinevirtual

Reset the vertex buffer to the initial state.

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

## ◆ setSourceRenderable()

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

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)

## ◆ getSourceRenderable()

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

Get the source renderable of this object.

## ◆ getRenderToBufferMaterial()

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

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

## ◆ setRenderToBufferMaterialName()

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

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

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

- OgreRenderToVertexBuffer.h