diff options
author | Tofu Buzzard <no-email> | 2011-03-03 17:41:11 -0800 |
---|---|---|
committer | Tofu Buzzard <no-email> | 2011-03-03 17:41:11 -0800 |
commit | cc61ad696e6947111f61453daf9840415045c64f (patch) | |
tree | 4be5916a3d59bdaa6bd088fb16987e03ab297bae /indra/newview/lldrawable.cpp | |
parent | e0099952942595f4ff90fd66cfeea570c17a81c5 (diff) | |
parent | 30763ec707bb65214420c230706d408420a5cb80 (diff) |
merge
Diffstat (limited to 'indra/newview/lldrawable.cpp')
-rw-r--r-- | indra/newview/lldrawable.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp index d370c72a04..fe743e7451 100644 --- a/indra/newview/lldrawable.cpp +++ b/indra/newview/lldrawable.cpp @@ -820,8 +820,7 @@ void LLDrawable::shiftPos(const LLVector4a &shift_vector) if (!volume && facep->hasGeometry()) { - facep->mVertexBuffer = NULL; - facep->mLastVertexBuffer = NULL; + facep->clearVertexBuffer(); } } @@ -935,6 +934,18 @@ void LLDrawable::setSpatialGroup(LLSpatialGroup *groupp) { mSpatialGroupp->setState(LLSpatialGroup::GEOM_DIRTY); }*/ + + if (mSpatialGroupp != groupp && getVOVolume()) + { //NULL out vertex buffer references for volumes on spatial group change to maintain + //requirement that every face vertex buffer is either NULL or points to a vertex buffer + //contained by its drawable's spatial group + for (S32 i = 0; i < getNumFaces(); ++i) + { + LLFace* facep = getFace(i); + facep->clearVertexBuffer(); + } + } + mSpatialGroupp = groupp; } |