|
Public Types |
enum | BUFFERTYPE {
DYNAMIC = 0x00000000,
STATIC = 0x00000001,
READPRIORITIZED = 0x00000002,
WRITEPRIORITIZED = 0x00000004,
NOREADWRITE = 0x00000008,
NORENDER = 0x00000010,
NORMAL = ( DYNAMIC | READPRIORITIZED | WRITEPRIORITIZED )
} |
| Buffer type identifiers. Any combination of the flags is valid. More...
|
enum | BUFFERUPLOADPOLICY { ONUNLOCK,
ONRENDER,
ONFLUSH
} |
| Upload policy identifiers. More...
|
enum | BUFFERLOCK { READ = 1,
WRITE = 2,
NOUPLOAD = 4,
FORCEUPLOAD = 8
} |
| Lock type identifiers. More...
|
Public Member Functions |
| PolygonBuffer (unsigned int uiType, unsigned int uiNumPolygons, const Polygon *pkData=0, bool bStripify=false) |
virtual | ~PolygonBuffer () |
virtual void | AllocatePolygons (unsigned int iNumPolygons, const Polygon *pkData=0, bool bStripify=false) |
void | LoadPolygonData (const Polygon *pkPolygons, bool bStripify=false) |
void | Stripify () |
bool | IsStripped () const |
void | CalculateNormals (VertexBufferPtr pkVertexBuffer=0, bool bNormalize=true) |
void | CalculateEdges (VertexBufferPtr pkVertexBuffer=0) |
Vector3d * | GetNormals () |
Edge * | GetEdges () |
PolygonStripBufferPtr & | GetStrip () |
Polygon * | GetPolygon (unsigned int uiElement=0) |
virtual const void * | GetRenderData () const |
Polygon & | operator[] (unsigned int uiElement) |
bool | Lock (unsigned int uiLockType) |
void | Unlock () |
virtual void | Upload () |
bool | IsLocked () const |
bool | IsDirty () const |
unsigned int | GetType () const |
unsigned int | GetNumAllocated () const |
unsigned int | GetNumElements () const |
void | SetNumElements (unsigned int uiNumElements) |
void | IncRef () |
void | DecRef () |
int | GetRefCount () const |
Static Public Member Functions |
std::string | GetTypeAsString (unsigned int uiType) |
unsigned int | GetTypeFromString (std::string const &strType) |
Public Attributes |
PolygonStripBufferPtr | m_pkStrip |
VertexBufferPtr | m_pkVertexBuffer |
MaterialPtr | m_pkMaterial |
Static Public Attributes |
BUFFERUPLOADPOLICY | s_eUploadPolicy |
Protected Member Functions |
void | ExtendStrip (unsigned int uiPolygon, unsigned int uiEdge, AdjacencyData *pkAdj, unsigned int *puiStrip, unsigned int *puiStripLen, unsigned char *pucAdded) |
virtual bool | AcquireLock () |
virtual void | ReleaseLock () |
Protected Attributes |
Polygon * | m_pkBuffer |
Polygon * | m_pkPolygons |
Vector3d * | m_pkNormals |
Edge * | m_pkEdges |
unsigned int | m_uiType |
unsigned int | m_uiLock |
bool | m_bDirty |
unsigned int | m_uiNumAllocated |
unsigned int | m_uiNumCurrent |