LLVertexBuffer Class Reference

#include <llvertexbuffer.h>

Inheritance diagram for LLVertexBuffer:

Inheritance graph
[legend]
Collaboration diagram for LLVertexBuffer:

Collaboration graph
[legend]

List of all members.

Public Types

enum  {
  TYPE_VERTEX, TYPE_NORMAL, TYPE_TEXCOORD, TYPE_TEXCOORD2,
  TYPE_COLOR, TYPE_BINORMAL, TYPE_WEIGHT, TYPE_CLOTHWEIGHT,
  TYPE_MAX, TYPE_INDEX
}
enum  {
  MAP_VERTEX = (1<<TYPE_VERTEX), MAP_NORMAL = (1<<TYPE_NORMAL), MAP_TEXCOORD = (1<<TYPE_TEXCOORD), MAP_TEXCOORD2 = (1<<TYPE_TEXCOORD2),
  MAP_COLOR = (1<<TYPE_COLOR), MAP_BINORMAL = (1<<TYPE_BINORMAL), MAP_WEIGHT = (1<<TYPE_WEIGHT), MAP_CLOTHWEIGHT = (1<<TYPE_CLOTHWEIGHT),
  MAP_DRAW = 0x2000, MAP_MAPPED = 0x4000, MAP_UNMAPPED = 0x8000
}
enum  {
  TRIANGLES = 0, TRIANGLE_STRIP, TRIANGLE_FAN, POINTS,
  LINES, LINE_STRIP, QUADS, LINE_LOOP,
  NUM_MODES
}
typedef std::list
< LLVertexBuffer * > 
buffer_list_t

Public Member Functions

 LLVertexBuffer (U32 typemask, S32 usage)
U8mapBuffer (S32 access=-1)
virtual void setBuffer (U32 data_mask)
void allocateBuffer (S32 nverts, S32 nindices, bool create)
virtual void resizeBuffer (S32 newnverts, S32 newnindices)
bool getVertexStrider (LLStrider< LLVector3 > &strider, S32 index=0)
bool getIndexStrider (LLStrider< U16 > &strider, S32 index=0)
bool getTexCoordStrider (LLStrider< LLVector2 > &strider, S32 index=0)
bool getTexCoord2Strider (LLStrider< LLVector2 > &strider, S32 index=0)
bool getNormalStrider (LLStrider< LLVector3 > &strider, S32 index=0)
bool getBinormalStrider (LLStrider< LLVector3 > &strider, S32 index=0)
bool getColorStrider (LLStrider< LLColor4U > &strider, S32 index=0)
bool getWeightStrider (LLStrider< F32 > &strider, S32 index=0)
bool getClothWeightStrider (LLStrider< LLVector4 > &strider, S32 index=0)
BOOL isEmpty () const
BOOL isLocked () const
S32 getNumVerts () const
S32 getNumIndices () const
S32 getRequestedVerts () const
S32 getRequestedIndices () const
U8getIndicesPointer () const
U8getVerticesPointer () const
S32 getStride () const
S32 getTypeMask () const
BOOL hasDataType (S32 type) const
S32 getSize () const
S32 getIndicesSize () const
U8getMappedData () const
U8getMappedIndices () const
S32 getOffset (S32 type) const
S32 getUsage () const
void setStride (S32 type, S32 new_stride)
void markDirty (U32 vert_index, U32 vert_count, U32 indices_index, U32 indices_count)
void draw (U32 mode, U32 count, U32 indices_offset) const
void drawArrays (U32 mode, U32 offset, U32 count) const
void drawRange (U32 mode, U32 start, U32 end, U32 count, U32 indices_offset) const

Static Public Member Functions

static void initClass (bool use_vbo)
static void cleanupClass ()
static void setupClientArrays (U32 data_mask)
static void clientCopy (F64 max_time=0.005)
static void unbind ()
static S32 calcStride (const U32 &typemask, S32 *offsets=NULL)

Static Public Attributes

static LLVBOPool sStreamVBOPool
static LLVBOPool sDynamicVBOPool
static LLVBOPool sStreamIBOPool
static LLVBOPool sDynamicIBOPool
static S32 sCount = 0
static S32 sGLCount = 0
static S32 sMappedCount = 0
static BOOL sMapped = FALSE
static std::vector< U32sDeleteList
static BOOL sEnableVBOs = TRUE
static S32 sTypeOffsets [TYPE_MAX]
static U32 sGLMode [NUM_MODES]
static U32 sGLRenderBuffer = 0
static U32 sGLRenderIndices = 0
static BOOL sVBOActive = FALSE
static BOOL sIBOActive = FALSE
static U32 sLastMask = 0
static U32 sAllocatedBytes = 0
static U32 sBindCount = 0
static U32 sSetCount = 0

Protected Member Functions

virtual ~LLVertexBuffer ()
virtual void setupVertexBuffer (U32 data_mask) const
void genBuffer ()
void genIndices ()
void releaseBuffer ()
void releaseIndices ()
void createGLBuffer ()
void createGLIndices ()
void destroyGLBuffer ()
void destroyGLIndices ()
void updateNumVerts (S32 nverts)
void updateNumIndices (S32 nindices)
virtual BOOL useVBOs () const
void unmapBuffer ()

Protected Attributes

S32 mNumVerts
S32 mNumIndices
S32 mRequestedNumVerts
S32 mRequestedNumIndices
S32 mStride
U32 mTypeMask
S32 mUsage
U32 mGLBuffer
U32 mGLIndices
U8mMappedData
U8mMappedIndexData
BOOL mLocked
BOOL mFinal
BOOL mFilthy
BOOL mEmpty
S32 mOffsets [TYPE_MAX]
BOOL mResized
BOOL mDynamicSize
std::vector< DirtyRegionmDirtyRegions

Friends

class LLGLImmediate

Classes

class  DirtyRegion


Detailed Description

Definition at line 77 of file llvertexbuffer.h.


Member Typedef Documentation

Definition at line 253 of file llvertexbuffer.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
TYPE_VERTEX 
TYPE_NORMAL 
TYPE_TEXCOORD 
TYPE_TEXCOORD2 
TYPE_COLOR 
TYPE_BINORMAL 
TYPE_WEIGHT 
TYPE_CLOTHWEIGHT 
TYPE_MAX 
TYPE_INDEX 

Definition at line 97 of file llvertexbuffer.h.

anonymous enum

Enumerator:
MAP_VERTEX 
MAP_NORMAL 
MAP_TEXCOORD 
MAP_TEXCOORD2 
MAP_COLOR 
MAP_BINORMAL 
MAP_WEIGHT 
MAP_CLOTHWEIGHT 
MAP_DRAW 
MAP_MAPPED 
MAP_UNMAPPED 

Definition at line 110 of file llvertexbuffer.h.

anonymous enum

Enumerator:
TRIANGLES 
TRIANGLE_STRIP 
TRIANGLE_FAN 
POINTS 
LINES 
LINE_STRIP 
QUADS 
LINE_LOOP 
NUM_MODES 

Definition at line 125 of file llvertexbuffer.h.


Constructor & Destructor Documentation

LLVertexBuffer::~LLVertexBuffer (  )  [protected, virtual]

Definition at line 343 of file llvertexbuffer.cpp.

References destroyGLBuffer(), destroyGLIndices(), LLMemType::MTYPE_VERTEX_DATA, and sCount.

Here is the call graph for this function:

LLVertexBuffer::LLVertexBuffer ( U32  typemask,
S32  usage 
)

Definition at line 297 of file llvertexbuffer.cpp.

References calcStride(), mOffsets, mStride, LLMemType::MTYPE_VERTEX_DATA, mTypeMask, mUsage, S32, sCount, and sEnableVBOs.

Here is the call graph for this function:


Member Function Documentation

void LLVertexBuffer::initClass ( bool  use_vbo  )  [static]

Definition at line 249 of file llvertexbuffer.cpp.

References LLGLNamePool::registerPool(), sDynamicIBOPool, sDynamicVBOPool, sEnableVBOs, sStreamIBOPool, and sStreamVBOPool.

Referenced by LLViewerWindow::LLViewerWindow(), and LLPipeline::setUseVBO().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLVertexBuffer::cleanupClass (  )  [static]

Definition at line 279 of file llvertexbuffer.cpp.

References clientCopy(), LLMemType::MTYPE_VERTEX_DATA, and unbind().

Referenced by LLPipeline::resetVertexBuffers(), and LLViewerWindow::~LLViewerWindow().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLVertexBuffer::setupClientArrays ( U32  data_mask  )  [static]

Definition at line 92 of file llvertexbuffer.cpp.

References i, llendl, llerrs, MAP_COLOR, MAP_NORMAL, MAP_TEXCOORD, MAP_TEXCOORD2, MAP_VERTEX, and sLastMask.

Referenced by setBuffer(), and unbind().

Here is the caller graph for this function:

void LLVertexBuffer::clientCopy ( F64  max_time = 0.005  )  [static]

Definition at line 286 of file llvertexbuffer.cpp.

References sDeleteList.

Referenced by cleanupClass(), display(), and LLPipeline::stateSort().

Here is the caller graph for this function:

void LLVertexBuffer::unbind (  )  [static]

S32 LLVertexBuffer::calcStride ( const U32 typemask,
S32 offsets = NULL 
) [static]

Definition at line 322 of file llvertexbuffer.cpp.

References i, S32, sTypeOffsets, and TYPE_MAX.

Referenced by LLVertexBuffer(), LLVolumeGeometryManager::rebuildGeom(), and LLVOWLSky::updateGeometry().

Here is the caller graph for this function:

void LLVertexBuffer::setupVertexBuffer ( U32  data_mask  )  const [protected, virtual]

void LLVertexBuffer::genBuffer (  )  [protected]

Definition at line 353 of file llvertexbuffer.cpp.

References LLGLNamePool::allocate(), mGLBuffer, mUsage, sDynamicVBOPool, sGLCount, and sStreamVBOPool.

Referenced by createGLBuffer().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLVertexBuffer::genIndices (  )  [protected]

Definition at line 371 of file llvertexbuffer.cpp.

References LLGLNamePool::allocate(), mGLBuffer, mGLIndices, mUsage, sDynamicIBOPool, sGLCount, and sStreamIBOPool.

Referenced by createGLIndices().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLVertexBuffer::releaseBuffer (  )  [protected]

Definition at line 389 of file llvertexbuffer.cpp.

References mGLBuffer, mUsage, LLGLNamePool::release(), sDeleteList, sDynamicVBOPool, sGLCount, and sStreamVBOPool.

Referenced by destroyGLBuffer().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLVertexBuffer::releaseIndices (  )  [protected]

Definition at line 406 of file llvertexbuffer.cpp.

References mGLIndices, mUsage, LLGLNamePool::release(), sDeleteList, sDynamicIBOPool, sGLCount, and sStreamIBOPool.

Referenced by destroyGLIndices().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLVertexBuffer::createGLBuffer (  )  [protected]

Definition at line 423 of file llvertexbuffer.cpp.

References destroyGLBuffer(), genBuffer(), getSize(), mEmpty, mGLBuffer, mMappedData, mResized, LLMemType::MTYPE_VERTEX_DATA, NULL, TRUE, and useVBOs().

Referenced by allocateBuffer(), and resizeBuffer().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLVertexBuffer::createGLIndices (  )  [protected]

Definition at line 455 of file llvertexbuffer.cpp.

References destroyGLIndices(), genIndices(), getIndicesSize(), mEmpty, mGLIndices, mMappedIndexData, mResized, LLMemType::MTYPE_VERTEX_DATA, NULL, TRUE, and useVBOs().

Referenced by allocateBuffer(), and resizeBuffer().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLVertexBuffer::destroyGLBuffer (  )  [protected]

Definition at line 487 of file llvertexbuffer.cpp.

References getSize(), llendl, llerrs, mEmpty, mGLBuffer, mMappedData, mMappedIndexData, LLMemType::MTYPE_VERTEX_DATA, NULL, releaseBuffer(), sAllocatedBytes, TRUE, unbind(), and useVBOs().

Referenced by createGLBuffer(), resizeBuffer(), and ~LLVertexBuffer().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLVertexBuffer::destroyGLIndices (  )  [protected]

Definition at line 514 of file llvertexbuffer.cpp.

References getIndicesSize(), llendl, llerrs, mEmpty, mGLIndices, mMappedData, mMappedIndexData, LLMemType::MTYPE_VERTEX_DATA, NULL, releaseIndices(), sAllocatedBytes, TRUE, unbind(), and useVBOs().

Referenced by createGLIndices(), resizeBuffer(), and ~LLVertexBuffer().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLVertexBuffer::updateNumVerts ( S32  nverts  )  [protected]

Definition at line 541 of file llvertexbuffer.cpp.

References llendl, llwarns, mDynamicSize, mNumVerts, mRequestedNumVerts, LLMemType::MTYPE_VERTEX_DATA, and mUsage.

Referenced by allocateBuffer(), and resizeBuffer().

Here is the caller graph for this function:

void LLVertexBuffer::updateNumIndices ( S32  nindices  )  [protected]

Definition at line 570 of file llvertexbuffer.cpp.

References mDynamicSize, mNumIndices, mRequestedNumIndices, LLMemType::MTYPE_VERTEX_DATA, and mUsage.

Referenced by allocateBuffer(), and resizeBuffer().

Here is the caller graph for this function:

BOOL LLVertexBuffer::useVBOs (  )  const [protected, virtual]

void LLVertexBuffer::unmapBuffer (  )  [protected]

Definition at line 785 of file llvertexbuffer.cpp.

References FALSE, mEmpty, mFinal, mLocked, mMappedData, mMappedIndexData, LLMemType::MTYPE_VERTEX_DATA, mUsage, NULL, sMappedCount, stop_glerror, TRUE, and useVBOs().

Referenced by setBuffer().

Here is the call graph for this function:

Here is the caller graph for this function:

U8 * LLVertexBuffer::mapBuffer ( S32  access = -1  ) 

Definition at line 743 of file llvertexbuffer.cpp.

References llendl, llerrs, mFinal, mLocked, mMappedData, mMappedIndexData, LLMemType::MTYPE_VERTEX_DATA, setBuffer(), sMappedCount, stop_glerror, TRUE, and useVBOs().

Here is the call graph for this function:

void LLVertexBuffer::setBuffer ( U32  data_mask  )  [virtual]

void LLVertexBuffer::allocateBuffer ( S32  nverts,
S32  nindices,
bool  create 
)

Definition at line 591 of file llvertexbuffer.cpp.

References createGLBuffer(), createGLIndices(), getIndicesSize(), getSize(), llendl, llerrs, mMappedData, LLMemType::MTYPE_VERTEX_DATA, sAllocatedBytes, updateNumIndices(), and updateNumVerts().

Referenced by LLVolumeGeometryManager::rebuildGeom(), resizeBuffer(), and LLVOWLSky::updateGeometry().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLVertexBuffer::resizeBuffer ( S32  newnverts,
S32  newnindices 
) [virtual]

bool LLVertexBuffer::getVertexStrider ( LLStrider< LLVector3 > &  strider,
S32  index = 0 
)

bool LLVertexBuffer::getIndexStrider ( LLStrider< U16 > &  strider,
S32  index = 0 
)

Definition at line 866 of file llvertexbuffer.cpp.

References VertexBufferStrider< T, type >::get().

Referenced by LLTerrainPartition::getGeometry(), LLParticlePartition::getGeometry(), and LLVOWLSky::updateGeometry().

Here is the call graph for this function:

Here is the caller graph for this function:

bool LLVertexBuffer::getTexCoordStrider ( LLStrider< LLVector2 > &  strider,
S32  index = 0 
)

Definition at line 870 of file llvertexbuffer.cpp.

References VertexBufferStrider< T, type >::get().

Referenced by LLTerrainPartition::getGeometry(), LLParticlePartition::getGeometry(), and LLVOWLSky::updateGeometry().

Here is the call graph for this function:

Here is the caller graph for this function:

bool LLVertexBuffer::getTexCoord2Strider ( LLStrider< LLVector2 > &  strider,
S32  index = 0 
)

Definition at line 874 of file llvertexbuffer.cpp.

References VertexBufferStrider< T, type >::get().

Referenced by LLTerrainPartition::getGeometry().

Here is the call graph for this function:

Here is the caller graph for this function:

bool LLVertexBuffer::getNormalStrider ( LLStrider< LLVector3 > &  strider,
S32  index = 0 
)

Definition at line 878 of file llvertexbuffer.cpp.

References VertexBufferStrider< T, type >::get().

Referenced by LLTerrainPartition::getGeometry(), LLParticlePartition::getGeometry(), LLViewerJointMesh::updateGeometryOriginal(), and LLViewerJointMesh::updateGeometryVectorized().

Here is the call graph for this function:

Here is the caller graph for this function:

bool LLVertexBuffer::getBinormalStrider ( LLStrider< LLVector3 > &  strider,
S32  index = 0 
)

Definition at line 882 of file llvertexbuffer.cpp.

References VertexBufferStrider< T, type >::get().

Here is the call graph for this function:

bool LLVertexBuffer::getColorStrider ( LLStrider< LLColor4U > &  strider,
S32  index = 0 
)

Definition at line 886 of file llvertexbuffer.cpp.

References VertexBufferStrider< T, type >::get().

Referenced by LLTerrainPartition::getGeometry(), and LLParticlePartition::getGeometry().

Here is the call graph for this function:

Here is the caller graph for this function:

bool LLVertexBuffer::getWeightStrider ( LLStrider< F32 > &  strider,
S32  index = 0 
)

Definition at line 890 of file llvertexbuffer.cpp.

References VertexBufferStrider< T, type >::get().

Here is the call graph for this function:

bool LLVertexBuffer::getClothWeightStrider ( LLStrider< LLVector4 > &  strider,
S32  index = 0 
)

Definition at line 894 of file llvertexbuffer.cpp.

References VertexBufferStrider< T, type >::get().

Here is the call graph for this function:

BOOL LLVertexBuffer::isEmpty (  )  const [inline]

Definition at line 184 of file llvertexbuffer.h.

References mEmpty.

BOOL LLVertexBuffer::isLocked (  )  const [inline]

Definition at line 185 of file llvertexbuffer.h.

References mLocked.

Referenced by LLVolumeGeometryManager::rebuildGeom().

Here is the caller graph for this function:

S32 LLVertexBuffer::getNumVerts (  )  const [inline]

Definition at line 186 of file llvertexbuffer.h.

References mNumVerts.

S32 LLVertexBuffer::getNumIndices (  )  const [inline]

Definition at line 187 of file llvertexbuffer.h.

References mNumIndices.

S32 LLVertexBuffer::getRequestedVerts (  )  const [inline]

Definition at line 188 of file llvertexbuffer.h.

References mRequestedNumVerts.

Referenced by LLVOWLSky::drawDome(), and pushBufferVerts().

Here is the caller graph for this function:

S32 LLVertexBuffer::getRequestedIndices (  )  const [inline]

Definition at line 189 of file llvertexbuffer.h.

References mRequestedNumIndices.

Referenced by LLVOWLSky::drawDome(), and pushBufferVerts().

Here is the caller graph for this function:

U8* LLVertexBuffer::getIndicesPointer (  )  const [inline]

Definition at line 191 of file llvertexbuffer.h.

References mMappedIndexData, NULL, and useVBOs().

Referenced by draw(), and drawRange().

Here is the call graph for this function:

Here is the caller graph for this function:

U8* LLVertexBuffer::getVerticesPointer (  )  const [inline]

Definition at line 192 of file llvertexbuffer.h.

References mMappedData, NULL, and useVBOs().

Here is the call graph for this function:

S32 LLVertexBuffer::getStride (  )  const [inline]

Definition at line 193 of file llvertexbuffer.h.

References mStride.

S32 LLVertexBuffer::getTypeMask (  )  const [inline]

Definition at line 194 of file llvertexbuffer.h.

References mTypeMask.

Referenced by hasDataType().

Here is the caller graph for this function:

BOOL LLVertexBuffer::hasDataType ( S32  type  )  const [inline]

Definition at line 195 of file llvertexbuffer.h.

References FALSE, getTypeMask(), and TRUE.

Here is the call graph for this function:

S32 LLVertexBuffer::getSize (  )  const [inline]

Definition at line 196 of file llvertexbuffer.h.

References mNumVerts, and mStride.

Referenced by allocateBuffer(), createGLBuffer(), destroyGLBuffer(), resizeBuffer(), and setBuffer().

Here is the caller graph for this function:

S32 LLVertexBuffer::getIndicesSize (  )  const [inline]

Definition at line 197 of file llvertexbuffer.h.

References mNumIndices.

Referenced by allocateBuffer(), createGLIndices(), destroyGLIndices(), resizeBuffer(), and setBuffer().

Here is the caller graph for this function:

U8* LLVertexBuffer::getMappedData (  )  const [inline]

Definition at line 198 of file llvertexbuffer.h.

References mMappedData.

U8* LLVertexBuffer::getMappedIndices (  )  const [inline]

Definition at line 199 of file llvertexbuffer.h.

References mMappedIndexData.

S32 LLVertexBuffer::getOffset ( S32  type  )  const [inline]

Definition at line 200 of file llvertexbuffer.h.

References mOffsets.

S32 LLVertexBuffer::getUsage (  )  const [inline]

Definition at line 201 of file llvertexbuffer.h.

References mUsage.

Referenced by LLVolumeGeometryManager::rebuildGeom().

Here is the caller graph for this function:

void LLVertexBuffer::setStride ( S32  type,
S32  new_stride 
)

void LLVertexBuffer::markDirty ( U32  vert_index,
U32  vert_count,
U32  indices_index,
U32  indices_count 
)

Definition at line 1093 of file llvertexbuffer.cpp.

Referenced by LLVolumeGeometryManager::rebuildGeom().

Here is the caller graph for this function:

void LLVertexBuffer::draw ( U32  mode,
U32  count,
U32  indices_offset 
) const

Definition at line 199 of file llvertexbuffer.cpp.

References getIndicesPointer(), llendl, llerrs, mGLBuffer, mGLIndices, mRequestedNumIndices, NUM_MODES, sGLMode, sGLRenderBuffer, and sGLRenderIndices.

Here is the call graph for this function:

void LLVertexBuffer::drawArrays ( U32  mode,
U32  offset,
U32  count 
) const

Definition at line 226 of file llvertexbuffer.cpp.

References llendl, llerrs, mGLBuffer, mRequestedNumVerts, NUM_MODES, sGLMode, sGLRenderBuffer, sVBOActive, and useVBOs().

Here is the call graph for this function:

void LLVertexBuffer::drawRange ( U32  mode,
U32  start,
U32  end,
U32  count,
U32  indices_offset 
) const

Definition at line 166 of file llvertexbuffer.cpp.

References getIndicesPointer(), llendl, llerrs, mGLBuffer, mGLIndices, mRequestedNumIndices, mRequestedNumVerts, NUM_MODES, sGLMode, sGLRenderBuffer, and sGLRenderIndices.

Referenced by LLVOWLSky::drawDome(), pushBufferVerts(), and pushVerts().

Here is the call graph for this function:

Here is the caller graph for this function:


Friends And Related Function Documentation

friend class LLGLImmediate [friend]

Definition at line 137 of file llvertexbuffer.h.


Member Data Documentation

Definition at line 212 of file llvertexbuffer.h.

Referenced by getNumVerts(), getSize(), resizeBuffer(), setStride(), and updateNumVerts().

Definition at line 213 of file llvertexbuffer.h.

Referenced by getIndicesSize(), getNumIndices(), resizeBuffer(), and updateNumIndices().

Definition at line 218 of file llvertexbuffer.h.

Referenced by getTypeMask(), LLVertexBuffer(), setStride(), and setupVertexBuffer().

Definition at line 224 of file llvertexbuffer.h.

Referenced by isLocked(), mapBuffer(), and unmapBuffer().

Definition at line 225 of file llvertexbuffer.h.

Referenced by mapBuffer(), resizeBuffer(), and unmapBuffer().

Definition at line 226 of file llvertexbuffer.h.

S32 LLVertexBuffer::mOffsets[TYPE_MAX] [protected]

Definition at line 229 of file llvertexbuffer.h.

Referenced by createGLBuffer(), createGLIndices(), resizeBuffer(), and setBuffer().

Definition at line 230 of file llvertexbuffer.h.

Referenced by resizeBuffer(), updateNumIndices(), and updateNumVerts().

std::vector<DirtyRegion> LLVertexBuffer::mDirtyRegions [protected]

Definition at line 245 of file llvertexbuffer.h.

Definition at line 248 of file llvertexbuffer.h.

Referenced by LLVertexBuffer(), and ~LLVertexBuffer().

BOOL LLVertexBuffer::sMapped = FALSE [static]

Definition at line 251 of file llvertexbuffer.h.

std::vector< U32 > LLVertexBuffer::sDeleteList [static]

Definition at line 252 of file llvertexbuffer.h.

Referenced by clientCopy(), releaseBuffer(), and releaseIndices().

Initial value:

{
        sizeof(LLVector3), 
        sizeof(LLVector3), 
        sizeof(LLVector2), 
        sizeof(LLVector2), 
        sizeof(LLColor4U), 
        sizeof(LLVector3), 
        sizeof(F32),       
        sizeof(LLVector4), 
}

Definition at line 256 of file llvertexbuffer.h.

Referenced by calcStride(), and setStride().

Initial value:

 
{
        GL_TRIANGLES,
        GL_TRIANGLE_STRIP,
        GL_TRIANGLE_FAN,
        GL_POINTS,
        GL_LINES,
        GL_LINE_STRIP,
        GL_QUADS,
        GL_LINE_LOOP,
}

Definition at line 257 of file llvertexbuffer.h.

Referenced by draw(), drawArrays(), and drawRange().

Definition at line 258 of file llvertexbuffer.h.

Referenced by draw(), drawArrays(), drawRange(), setBuffer(), and unbind().

Definition at line 259 of file llvertexbuffer.h.

Referenced by draw(), drawRange(), setBuffer(), and unbind().

BOOL LLVertexBuffer::sVBOActive = FALSE [static]

Definition at line 260 of file llvertexbuffer.h.

Referenced by drawArrays(), setBuffer(), and unbind().

BOOL LLVertexBuffer::sIBOActive = FALSE [static]

Definition at line 261 of file llvertexbuffer.h.

Referenced by setBuffer(), and unbind().

Definition at line 262 of file llvertexbuffer.h.

Referenced by setBuffer(), and setupClientArrays().

Definition at line 264 of file llvertexbuffer.h.

Referenced by setBuffer(), and LLDebugText::update().

Definition at line 265 of file llvertexbuffer.h.

Referenced by setBuffer(), and LLDebugText::update().


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

Generated on Fri May 16 09:22:06 2008 for SecondLife by  doxygen 1.5.5