|
|
|
|
Documentation |
|
Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages Search
NL3D::CLandscapeVBAllocator Class ReferenceA class to easily allocate vertices for Landscape Far / Tile faces.
More...
#include <landscapevb_allocator.h>
List of all members.
Detailed Description
A class to easily allocate vertices for Landscape Far / Tile faces.
-
Author:
-
Lionel Berenguier , Nevrax France
-
Date:
-
2001
Definition at line 60 of file landscapevb_allocator.h.
Member Enumeration Documentation
enum NL3D::CLandscapeVBAllocator::TType
|
|
Constructor & Destructor Documentation
NL3D::CLandscapeVBAllocator::CLandscapeVBAllocator |
( |
TType |
type |
) |
|
|
|
Constructor.
Definition at line 56 of file landscapevb_allocator.cpp.
References _ATIVBHardOk, _BufferLocked, _NumVerticesAllocated, _ReallocationOccur, _Type, _VBHardOk, _VertexFreeMemory, _VertexProgram, MaxVertexProgram, NL3D_VERTEX_FREE_MEMORY_RESERVE, and type. |
NL3D::CLandscapeVBAllocator::~CLandscapeVBAllocator |
( |
|
) |
|
|
Member Function Documentation
void NL3D::CLandscapeVBAllocator::activate |
( |
uint |
vpId |
) |
|
|
uint NL3D::CLandscapeVBAllocator::allocateVertex |
( |
|
) |
|
|
void NL3D::CLandscapeVBAllocator::allocateVertexBuffer |
( |
uint32 |
numVertices |
) |
[private] |
|
bool NL3D::CLandscapeVBAllocator::bufferLocked |
( |
|
) |
const [inline] |
|
void NL3D::CLandscapeVBAllocator::clear |
( |
|
) |
|
|
void NL3D::CLandscapeVBAllocator::deleteVertex |
( |
uint |
vid |
) |
|
|
void NL3D::CLandscapeVBAllocator::deleteVertexBuffer |
( |
|
) |
[private] |
|
void NL3D::CLandscapeVBAllocator::deleteVertexProgram |
( |
|
) |
[private] |
|
|
lock buffers Hard (if any).
"slow call", so batch them. nlassert good TType. return is the VB info. NB: if the buffer is locked while a reallocation occurs, then the buffer is unlocked.
Definition at line 208 of file landscapevb_allocator.cpp.
References _BufferLocked, _Type, _VB, _VBHard, _VertexProgram, data, Far0, Far1, nlassert, and unlockBuffer. |
bool NL3D::CLandscapeVBAllocator::reallocationOccurs |
( |
|
) |
const [inline] |
|
void NL3D::CLandscapeVBAllocator::resetReallocation |
( |
|
) |
|
|
void NL3D::CLandscapeVBAllocator::setupVBFormatAndVertexProgram |
( |
bool |
withVertexProgram |
) |
[private] |
|
|
Definition at line 656 of file landscapevb_allocator.cpp.
References _Type, _VB, _VertexProgram, Far0, Far1, NL3D_LANDSCAPE_VPPOS_ALPHAINFO, NL3D_LANDSCAPE_VPPOS_DELTAPOS, NL3D_LANDSCAPE_VPPOS_GEOMINFO, NL3D_LANDSCAPE_VPPOS_STARTPOS, NL3D_LANDSCAPE_VPPOS_TEX0, NL3D_LANDSCAPE_VPPOS_TEX1, NL3D_LANDSCAPE_VPPOS_TEX2, NL3D::NL3D_LandscapeCommonStartProgram, NL3D::NL3D_LandscapeFar0EndProgram, NL3D::NL3D_LandscapeFar1EndProgram, NL3D::NL3D_LandscapeTileEndProgram, and NL3D::NL3D_LandscapeTileLightMapEndProgram.
Referenced by updateDriver. |
void NL3D::CLandscapeVBAllocator::synchronizeATIVBHard |
( |
|
) |
|
|
void NL3D::CLandscapeVBAllocator::unlockBuffer |
( |
|
) |
|
|
void NL3D::CLandscapeVBAllocator::updateDriver |
( |
IDriver * |
driver |
) |
|
|
|
setup driver, and test for possible VBHard reallocation.
if the VBhard/Driver has been deleted externally, Vertices are lost. The vertex buffer is reallocated and reallocationOccurs() return true (see reallocationOccurs()). to do anytime you're not sure of change of the driver/vbHard state.
Note: the vertexProgram is created/changed here, according to driver, and TType. -
Parameters:
-
Definition at line 79 of file landscapevb_allocator.cpp.
References _ATIVBHardOk, _Driver, _NumVerticesAllocated, _VBHard, _VBHardOk, allocateVertexBuffer, deleteVertexBuffer, deleteVertexProgram, nlassert, and setupVBFormatAndVertexProgram. |
Member Data Documentation
bool NL3D::CLandscapeVBAllocator::_ATIVBHardOk [private]
|
|
bool NL3D::CLandscapeVBAllocator::_BufferLocked [private]
|
|
uint NL3D::CLandscapeVBAllocator::_NumVerticesAllocated [private]
|
|
bool NL3D::CLandscapeVBAllocator::_ReallocationOccur [private]
|
|
TType NL3D::CLandscapeVBAllocator::_Type [private]
|
|
bool NL3D::CLandscapeVBAllocator::_VBHardOk [private]
|
|
std::vector<uint> NL3D::CLandscapeVBAllocator::_VertexFreeMemory [private]
|
|
std::vector<CVertexInfo> NL3D::CLandscapeVBAllocator::_VertexInfos [private]
|
|
CVertexProgram* NL3D::CLandscapeVBAllocator::_VertexProgram[MaxVertexProgram] [private]
|
|
The documentation for this class was generated from the following files:
|
|