#include <llvertexbuffer.h>
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) | |
U8 * | mapBuffer (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 |
U8 * | getIndicesPointer () const |
U8 * | getVerticesPointer () const |
S32 | getStride () const |
S32 | getTypeMask () const |
BOOL | hasDataType (S32 type) const |
S32 | getSize () const |
S32 | getIndicesSize () const |
U8 * | getMappedData () const |
U8 * | getMappedIndices () 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< U32 > | sDeleteList |
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 |
U8 * | mMappedData |
U8 * | mMappedIndexData |
BOOL | mLocked |
BOOL | mFinal |
BOOL | mFilthy |
BOOL | mEmpty |
S32 | mOffsets [TYPE_MAX] |
BOOL | mResized |
BOOL | mDynamicSize |
std::vector< DirtyRegion > | mDirtyRegions |
Friends | |
class | LLGLImmediate |
Classes | |
class | DirtyRegion |
Definition at line 77 of file llvertexbuffer.h.
typedef std::list<LLVertexBuffer*> LLVertexBuffer::buffer_list_t |
Definition at line 253 of file llvertexbuffer.h.
anonymous enum |
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 |
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 |
Definition at line 125 of file llvertexbuffer.h.
LLVertexBuffer::~LLVertexBuffer | ( | ) | [protected, virtual] |
Definition at line 343 of file llvertexbuffer.cpp.
References destroyGLBuffer(), destroyGLIndices(), LLMemType::MTYPE_VERTEX_DATA, and sCount.
Definition at line 297 of file llvertexbuffer.cpp.
References calcStride(), mOffsets, mStride, LLMemType::MTYPE_VERTEX_DATA, mTypeMask, mUsage, S32, sCount, and sEnableVBOs.
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().
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().
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().
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().
void LLVertexBuffer::unbind | ( | ) | [static] |
Definition at line 259 of file llvertexbuffer.cpp.
References FALSE, setupClientArrays(), sGLRenderBuffer, sGLRenderIndices, sIBOActive, and sVBOActive.
Referenced by LLDrawPoolAvatar::beginRenderPass(), cleanupClass(), destroyGLBuffer(), destroyGLIndices(), display(), display_startup(), LLPipeline::doOcclusion(), LLVOWLSky::drawDome(), LLPipeline::generateWaterReflection(), LLImagePreviewAvatar::render(), LLPreviewAnimation::render(), render_ui_and_swap(), LLHUDObject::renderAll(), LLPipeline::renderBloom(), LLCone::renderface(), LLCylinder::renderface(), LLPipeline::renderForSelect(), LLDrawPoolTerrain::renderFull4TU(), LLPipeline::renderGeom(), LLViewerObjectList::renderObjectsForSelect(), renderVisibility(), LLPipeline::resetVertexBuffers(), LLDynamicTexture::updateAllInstances(), and LLPipeline::updateCull().
Definition at line 322 of file llvertexbuffer.cpp.
References i, S32, sTypeOffsets, and TYPE_MAX.
Referenced by LLVertexBuffer(), LLVolumeGeometryManager::rebuildGeom(), and LLVOWLSky::updateGeometry().
void LLVertexBuffer::setupVertexBuffer | ( | U32 | data_mask | ) | const [protected, virtual] |
Reimplemented in LLVertexBufferAvatar, and LLVertexBufferTerrain.
Definition at line 1043 of file llvertexbuffer.cpp.
References FALSE, llendl, llerrs, llglassertok, MAP_BINORMAL, MAP_CLOTHWEIGHT, MAP_COLOR, MAP_NORMAL, MAP_TEXCOORD, MAP_TEXCOORD2, MAP_VERTEX, MAP_WEIGHT, mMappedData, mOffsets, mStride, LLMemType::MTYPE_VERTEX_DATA, mTypeMask, NULL, S32, stop_glerror, TRUE, TYPE_BINORMAL, TYPE_CLOTHWEIGHT, TYPE_COLOR, TYPE_NORMAL, TYPE_TEXCOORD, TYPE_TEXCOORD2, TYPE_WEIGHT, and useVBOs().
Referenced by setBuffer(), LLVertexBufferTerrain::setupVertexBuffer(), and LLVertexBufferAvatar::setupVertexBuffer().
void LLVertexBuffer::genBuffer | ( | ) | [protected] |
Definition at line 353 of file llvertexbuffer.cpp.
References LLGLNamePool::allocate(), mGLBuffer, mUsage, sDynamicVBOPool, sGLCount, and sStreamVBOPool.
Referenced by createGLBuffer().
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().
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().
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().
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().
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().
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().
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().
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().
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().
BOOL LLVertexBuffer::useVBOs | ( | ) | const [protected, virtual] |
Definition at line 722 of file llvertexbuffer.cpp.
References FALSE, mUsage, and sEnableVBOs.
Referenced by createGLBuffer(), createGLIndices(), destroyGLBuffer(), destroyGLIndices(), drawArrays(), getIndicesPointer(), getVerticesPointer(), mapBuffer(), resizeBuffer(), setBuffer(), LLVertexBufferTerrain::setupVertexBuffer(), LLVertexBufferAvatar::setupVertexBuffer(), setupVertexBuffer(), and unmapBuffer().
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().
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().
void LLVertexBuffer::setBuffer | ( | U32 | data_mask | ) | [virtual] |
Definition at line 921 of file llvertexbuffer.cpp.
References FALSE, gDebugGL, getIndicesSize(), getSize(), llendl, llerrs, mEmpty, mGLBuffer, mGLIndices, mResized, LLMemType::MTYPE_VERTEX_DATA, mUsage, NULL, sBindCount, sEnableVBOs, setupClientArrays(), setupVertexBuffer(), sGLRenderBuffer, sGLRenderIndices, sIBOActive, sLastMask, sSetCount, stop_glerror, sVBOActive, TRUE, unmapBuffer(), and useVBOs().
Referenced by LLVOWLSky::drawDome(), LLTerrainPartition::getGeometry(), LLParticlePartition::getGeometry(), mapBuffer(), pushBufferVerts(), pushVerts(), LLVolumeGeometryManager::rebuildGeom(), LLVOAvatar::renderSkinned(), resizeBuffer(), LLVOWLSky::updateGeometry(), LLViewerJointMesh::updateGeometryOriginal(), and LLViewerJointMesh::updateGeometryVectorized().
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().
Definition at line 611 of file llvertexbuffer.cpp.
References allocateBuffer(), createGLBuffer(), createGLIndices(), destroyGLBuffer(), destroyGLIndices(), FALSE, getIndicesSize(), getSize(), llmin(), mDynamicSize, mEmpty, mFinal, mGLBuffer, mGLIndices, mMappedData, mMappedIndexData, mNumIndices, mNumVerts, mRequestedNumIndices, mRequestedNumVerts, mResized, LLMemType::MTYPE_VERTEX_DATA, mUsage, S32, sAllocatedBytes, setBuffer(), TRUE, updateNumIndices(), updateNumVerts(), and useVBOs().
Referenced by LLVolumeGeometryManager::rebuildGeom().
Definition at line 862 of file llvertexbuffer.cpp.
References VertexBufferStrider< T, type >::get().
Referenced by LLTerrainPartition::getGeometry(), LLParticlePartition::getGeometry(), LLVOWLSky::updateGeometry(), LLViewerJointMesh::updateGeometryOriginal(), and LLViewerJointMesh::updateGeometryVectorized().
Definition at line 866 of file llvertexbuffer.cpp.
References VertexBufferStrider< T, type >::get().
Referenced by LLTerrainPartition::getGeometry(), LLParticlePartition::getGeometry(), and LLVOWLSky::updateGeometry().
Definition at line 870 of file llvertexbuffer.cpp.
References VertexBufferStrider< T, type >::get().
Referenced by LLTerrainPartition::getGeometry(), LLParticlePartition::getGeometry(), and LLVOWLSky::updateGeometry().
Definition at line 874 of file llvertexbuffer.cpp.
References VertexBufferStrider< T, type >::get().
Referenced by LLTerrainPartition::getGeometry().
Definition at line 878 of file llvertexbuffer.cpp.
References VertexBufferStrider< T, type >::get().
Referenced by LLTerrainPartition::getGeometry(), LLParticlePartition::getGeometry(), LLViewerJointMesh::updateGeometryOriginal(), and LLViewerJointMesh::updateGeometryVectorized().
Definition at line 882 of file llvertexbuffer.cpp.
References VertexBufferStrider< T, type >::get().
Definition at line 886 of file llvertexbuffer.cpp.
References VertexBufferStrider< T, type >::get().
Referenced by LLTerrainPartition::getGeometry(), and LLParticlePartition::getGeometry().
Definition at line 890 of file llvertexbuffer.cpp.
References VertexBufferStrider< T, type >::get().
Definition at line 894 of file llvertexbuffer.cpp.
References VertexBufferStrider< T, type >::get().
BOOL LLVertexBuffer::isEmpty | ( | ) | const [inline] |
BOOL LLVertexBuffer::isLocked | ( | ) | const [inline] |
Definition at line 185 of file llvertexbuffer.h.
References mLocked.
Referenced by LLVolumeGeometryManager::rebuildGeom().
S32 LLVertexBuffer::getNumVerts | ( | ) | const [inline] |
S32 LLVertexBuffer::getNumIndices | ( | ) | const [inline] |
S32 LLVertexBuffer::getRequestedVerts | ( | ) | const [inline] |
Definition at line 188 of file llvertexbuffer.h.
References mRequestedNumVerts.
Referenced by LLVOWLSky::drawDome(), and pushBufferVerts().
S32 LLVertexBuffer::getRequestedIndices | ( | ) | const [inline] |
Definition at line 189 of file llvertexbuffer.h.
References mRequestedNumIndices.
Referenced by LLVOWLSky::drawDome(), and pushBufferVerts().
U8* LLVertexBuffer::getIndicesPointer | ( | ) | const [inline] |
Definition at line 191 of file llvertexbuffer.h.
References mMappedIndexData, NULL, and useVBOs().
Referenced by draw(), and drawRange().
U8* LLVertexBuffer::getVerticesPointer | ( | ) | const [inline] |
Definition at line 192 of file llvertexbuffer.h.
References mMappedData, NULL, and useVBOs().
S32 LLVertexBuffer::getStride | ( | ) | const [inline] |
S32 LLVertexBuffer::getTypeMask | ( | ) | const [inline] |
Definition at line 194 of file llvertexbuffer.h.
References mTypeMask.
Referenced by hasDataType().
Definition at line 195 of file llvertexbuffer.h.
References FALSE, getTypeMask(), and TRUE.
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().
S32 LLVertexBuffer::getIndicesSize | ( | ) | const [inline] |
Definition at line 197 of file llvertexbuffer.h.
References mNumIndices.
Referenced by allocateBuffer(), createGLIndices(), destroyGLIndices(), resizeBuffer(), and setBuffer().
U8* LLVertexBuffer::getMappedData | ( | ) | const [inline] |
U8* LLVertexBuffer::getMappedIndices | ( | ) | const [inline] |
S32 LLVertexBuffer::getUsage | ( | ) | const [inline] |
Definition at line 201 of file llvertexbuffer.h.
References mUsage.
Referenced by LLVolumeGeometryManager::rebuildGeom().
Definition at line 899 of file llvertexbuffer.cpp.
References i, llendl, llerrs, mNumVerts, mOffsets, mStride, LLMemType::MTYPE_VERTEX_DATA, mTypeMask, S32, sTypeOffsets, and TYPE_MAX.
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().
Definition at line 199 of file llvertexbuffer.cpp.
References getIndicesPointer(), llendl, llerrs, mGLBuffer, mGLIndices, mRequestedNumIndices, NUM_MODES, sGLMode, sGLRenderBuffer, and sGLRenderIndices.
Definition at line 226 of file llvertexbuffer.cpp.
References llendl, llerrs, mGLBuffer, mRequestedNumVerts, NUM_MODES, sGLMode, sGLRenderBuffer, sVBOActive, and useVBOs().
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().
friend class LLGLImmediate [friend] |
Definition at line 137 of file llvertexbuffer.h.
LLVBOPool LLVertexBuffer::sStreamVBOPool [static] |
Definition at line 80 of file llvertexbuffer.h.
Referenced by genBuffer(), initClass(), releaseBuffer(), and LLPipeline::resetVertexBuffers().
LLVBOPool LLVertexBuffer::sDynamicVBOPool [static] |
Definition at line 81 of file llvertexbuffer.h.
Referenced by genBuffer(), initClass(), releaseBuffer(), and LLPipeline::resetVertexBuffers().
LLVBOPool LLVertexBuffer::sStreamIBOPool [static] |
Definition at line 82 of file llvertexbuffer.h.
Referenced by genIndices(), initClass(), releaseIndices(), and LLPipeline::resetVertexBuffers().
LLVBOPool LLVertexBuffer::sDynamicIBOPool [static] |
Definition at line 83 of file llvertexbuffer.h.
Referenced by genIndices(), initClass(), releaseIndices(), and LLPipeline::resetVertexBuffers().
S32 LLVertexBuffer::mNumVerts [protected] |
Definition at line 212 of file llvertexbuffer.h.
Referenced by getNumVerts(), getSize(), resizeBuffer(), setStride(), and updateNumVerts().
S32 LLVertexBuffer::mNumIndices [protected] |
Definition at line 213 of file llvertexbuffer.h.
Referenced by getIndicesSize(), getNumIndices(), resizeBuffer(), and updateNumIndices().
S32 LLVertexBuffer::mRequestedNumVerts [protected] |
Definition at line 214 of file llvertexbuffer.h.
Referenced by drawArrays(), drawRange(), getRequestedVerts(), resizeBuffer(), and updateNumVerts().
S32 LLVertexBuffer::mRequestedNumIndices [protected] |
Definition at line 215 of file llvertexbuffer.h.
Referenced by draw(), drawRange(), getRequestedIndices(), resizeBuffer(), and updateNumIndices().
S32 LLVertexBuffer::mStride [protected] |
Definition at line 217 of file llvertexbuffer.h.
Referenced by getSize(), getStride(), LLVertexBuffer(), setStride(), LLVertexBufferTerrain::setupVertexBuffer(), LLVertexBufferAvatar::setupVertexBuffer(), and setupVertexBuffer().
U32 LLVertexBuffer::mTypeMask [protected] |
Definition at line 218 of file llvertexbuffer.h.
Referenced by getTypeMask(), LLVertexBuffer(), setStride(), and setupVertexBuffer().
S32 LLVertexBuffer::mUsage [protected] |
Definition at line 219 of file llvertexbuffer.h.
Referenced by genBuffer(), genIndices(), getUsage(), LLVertexBuffer(), releaseBuffer(), releaseIndices(), resizeBuffer(), setBuffer(), unmapBuffer(), updateNumIndices(), updateNumVerts(), and useVBOs().
U32 LLVertexBuffer::mGLBuffer [protected] |
Definition at line 220 of file llvertexbuffer.h.
Referenced by createGLBuffer(), destroyGLBuffer(), draw(), drawArrays(), drawRange(), genBuffer(), genIndices(), releaseBuffer(), resizeBuffer(), and setBuffer().
U32 LLVertexBuffer::mGLIndices [protected] |
Definition at line 221 of file llvertexbuffer.h.
Referenced by createGLIndices(), destroyGLIndices(), draw(), drawRange(), genIndices(), releaseIndices(), resizeBuffer(), and setBuffer().
U8* LLVertexBuffer::mMappedData [protected] |
Definition at line 222 of file llvertexbuffer.h.
Referenced by allocateBuffer(), createGLBuffer(), destroyGLBuffer(), destroyGLIndices(), getMappedData(), getVerticesPointer(), mapBuffer(), resizeBuffer(), LLVertexBufferTerrain::setupVertexBuffer(), LLVertexBufferAvatar::setupVertexBuffer(), setupVertexBuffer(), and unmapBuffer().
U8* LLVertexBuffer::mMappedIndexData [protected] |
Definition at line 223 of file llvertexbuffer.h.
Referenced by createGLIndices(), destroyGLBuffer(), destroyGLIndices(), getIndicesPointer(), getMappedIndices(), mapBuffer(), resizeBuffer(), and unmapBuffer().
BOOL LLVertexBuffer::mLocked [protected] |
Definition at line 224 of file llvertexbuffer.h.
Referenced by isLocked(), mapBuffer(), and unmapBuffer().
BOOL LLVertexBuffer::mFinal [protected] |
Definition at line 225 of file llvertexbuffer.h.
Referenced by mapBuffer(), resizeBuffer(), and unmapBuffer().
BOOL LLVertexBuffer::mFilthy [protected] |
Definition at line 226 of file llvertexbuffer.h.
BOOL LLVertexBuffer::mEmpty [protected] |
Definition at line 227 of file llvertexbuffer.h.
Referenced by createGLBuffer(), createGLIndices(), destroyGLBuffer(), destroyGLIndices(), isEmpty(), resizeBuffer(), setBuffer(), and unmapBuffer().
S32 LLVertexBuffer::mOffsets[TYPE_MAX] [protected] |
Definition at line 228 of file llvertexbuffer.h.
Referenced by getOffset(), LLVertexBuffer(), setStride(), LLVertexBufferTerrain::setupVertexBuffer(), LLVertexBufferAvatar::setupVertexBuffer(), and setupVertexBuffer().
BOOL LLVertexBuffer::mResized [protected] |
Definition at line 229 of file llvertexbuffer.h.
Referenced by createGLBuffer(), createGLIndices(), resizeBuffer(), and setBuffer().
BOOL LLVertexBuffer::mDynamicSize [protected] |
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.
S32 LLVertexBuffer::sCount = 0 [static] |
Definition at line 248 of file llvertexbuffer.h.
Referenced by LLVertexBuffer(), and ~LLVertexBuffer().
S32 LLVertexBuffer::sGLCount = 0 [static] |
Definition at line 249 of file llvertexbuffer.h.
Referenced by genBuffer(), genIndices(), releaseBuffer(), releaseIndices(), LLPipeline::resetVertexBuffers(), and LLDebugText::update().
S32 LLVertexBuffer::sMappedCount = 0 [static] |
Definition at line 250 of file llvertexbuffer.h.
Referenced by mapBuffer(), LLVolumeGeometryManager::rebuildGeom(), unmapBuffer(), and LLDebugText::update().
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().
BOOL LLVertexBuffer::sEnableVBOs = TRUE [static] |
Definition at line 255 of file llvertexbuffer.h.
Referenced by LLPipeline::destroyGL(), initClass(), LLVertexBuffer(), LLVolumeGeometryManager::rebuildGeom(), LLSpatialPartition::rebuildGeom(), setBuffer(), LLPipeline::setUseVBO(), LLVOSky::updateDummyVertexBuffer(), LLPipeline::updateGeom(), LLVOAvatar::updateLOD(), and useVBOs().
S32 LLVertexBuffer::sTypeOffsets [static] |
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().
U32 LLVertexBuffer::sGLMode [static] |
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().
U32 LLVertexBuffer::sGLRenderBuffer = 0 [static] |
Definition at line 258 of file llvertexbuffer.h.
Referenced by draw(), drawArrays(), drawRange(), setBuffer(), and unbind().
U32 LLVertexBuffer::sGLRenderIndices = 0 [static] |
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] |
U32 LLVertexBuffer::sLastMask = 0 [static] |
Definition at line 262 of file llvertexbuffer.h.
Referenced by setBuffer(), and setupClientArrays().
U32 LLVertexBuffer::sAllocatedBytes = 0 [static] |
Definition at line 263 of file llvertexbuffer.h.
Referenced by allocateBuffer(), destroyGLBuffer(), destroyGLIndices(), resizeBuffer(), and LLDebugText::update().
U32 LLVertexBuffer::sBindCount = 0 [static] |
Definition at line 264 of file llvertexbuffer.h.
Referenced by setBuffer(), and LLDebugText::update().
U32 LLVertexBuffer::sSetCount = 0 [static] |
Definition at line 265 of file llvertexbuffer.h.
Referenced by setBuffer(), and LLDebugText::update().