diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 4ea3c1b56bf1df20697342f7cdfe715d955d5c4c..1ef3d85eb311576187f892bb07a162314e21bc2e 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -5374,6 +5374,8 @@ void LLVolumeGeometryManager::rebuildMesh(LLSpatialGroup* group) if (drawablep && !drawablep->isDead() && drawablep->isState(LLDrawable::REBUILD_ALL) && !drawablep->isState(LLDrawable::RIGGED) ) { LLVOVolume* vobj = drawablep->getVOVolume(); + if (vobj->isNoLOD()) continue; + vobj->preRebuild(); if (drawablep->isState(LLDrawable::ANIMATED_CHILD)) diff --git a/indra/newview/llvovolume.h b/indra/newview/llvovolume.h index 2d9315df702e5c8cace5a40874eff0a2fbe3566e..f9d04844fc2c57bb26cf66c34f8c6c5a5e772d76 100644 --- a/indra/newview/llvovolume.h +++ b/indra/newview/llvovolume.h @@ -129,6 +129,7 @@ class LLVOVolume : public LLViewerObject /*virtual*/ BOOL setParent(LLViewerObject* parent); S32 getLOD() const { return mLOD; } void setNoLOD() { mLOD = NO_LOD; mLODChanged = TRUE; } + bool isNoLOD() const { return NO_LOD == mLOD; } const LLVector3 getPivotPositionAgent() const; const LLMatrix4& getRelativeXform() const { return mRelativeXform; } const LLMatrix3& getRelativeXformInvTrans() const { return mRelativeXformInvTrans; }