OGRE
13.6
Object-Oriented Graphics Rendering Engine
|
Interface used to by the Terrain instance to allocate GPU buffers. More...
#include <OgreTerrain.h>
Public Member Functions | |
GpuBufferAllocator () | |
virtual | ~GpuBufferAllocator () |
virtual void | allocateVertexBuffers (Terrain *forTerrain, size_t numVertices, HardwareVertexBufferSharedPtr &destPos, HardwareVertexBufferSharedPtr &destDelta)=0 |
Allocate (or reuse) vertex buffers for a terrain LOD. More... | |
virtual void | freeAllBuffers ()=0 |
Free any buffers we're holding. More... | |
virtual void | freeVertexBuffers (const HardwareVertexBufferSharedPtr &posbuf, const HardwareVertexBufferSharedPtr &deltabuf)=0 |
Free (or return to the pool) vertex buffers for terrain. More... | |
virtual HardwareIndexBufferSharedPtr | getSharedIndexBuffer (uint16 batchSize, uint16 vdatasize, size_t vertexIncrement, uint16 xoffset, uint16 yoffset, uint16 numSkirtRowsCols, uint16 skirtRowColSkip)=0 |
Get a shared index buffer for a given number of settings. More... | |
Interface used to by the Terrain instance to allocate GPU buffers.
|
inline |
|
inlinevirtual |
|
pure virtual |
Allocate (or reuse) vertex buffers for a terrain LOD.
forTerrain | |
numVertices | The total number of vertices |
destPos | Pointer to a vertex buffer for positions, to be bound |
destDelta | Pointer to a vertex buffer for deltas, to be bound |
Implemented in Ogre::Terrain::DefaultGpuBufferAllocator.
|
pure virtual |
Free (or return to the pool) vertex buffers for terrain.
Implemented in Ogre::Terrain::DefaultGpuBufferAllocator.
|
pure virtual |
Get a shared index buffer for a given number of settings.
batchSize | The batch size along one edge |
vdatasize | The size of the referenced vertex data along one edge |
vertexIncrement | The number of vertices to increment for each new indexed row / column |
xoffset | The x offset from the start of vdatasize, at that resolution |
yoffset | The y offset from the start of vdatasize, at that resolution |
numSkirtRowsCols | Number of rows and columns of skirts |
skirtRowColSkip | The number of rows / cols to skip in between skirts |
Implemented in Ogre::Terrain::DefaultGpuBufferAllocator.
|
pure virtual |
Free any buffers we're holding.
Implemented in Ogre::Terrain::DefaultGpuBufferAllocator.