diff options
| author | Dave Parks <davep@lindenlab.com> | 2011-01-25 15:29:45 -0600 | 
|---|---|---|
| committer | Dave Parks <davep@lindenlab.com> | 2011-01-25 15:29:45 -0600 | 
| commit | 96c6200f7271cadec83f8d55e30e3b4713c3f939 (patch) | |
| tree | 5e724ba99f2fb709394f9d11ea619cdf556e97bd | |
| parent | ec1aa95a4be59c4797a65cb87e7183d2a91d19c6 (diff) | |
SH-390 Fix for bad occlusion culling of some mesh objects.
| -rw-r--r-- | indra/newview/llvovolume.cpp | 14 | 
1 files changed, 12 insertions, 2 deletions
| diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 5277e073a3..e3b5e613d9 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -1075,7 +1075,6 @@ void LLVOVolume::notifyMeshLoaded()  { 
  	mSculptChanged = TRUE;
  	gPipeline.markRebuild(mDrawable, LLDrawable::REBUILD_GEOMETRY, TRUE);
 -	dirtySpatialGroup(TRUE);
  }
  // sculpt replaces generate() for sculpted surfaces
 @@ -1608,6 +1607,17 @@ BOOL LLVOVolume::updateGeometry(LLDrawable *drawable)  					regenFaces();
  				}
  				genBBoxes(FALSE);
 +
 +				if (mSculptChanged)
 +				{ //changes in sculpt maps can thrash an object bounding box without 
 +				  //triggering a spatial group bounding box update -- force spatial group
 +				  //to update bounding boxes
 +					LLSpatialGroup* group = mDrawable->getSpatialGroup();
 +					if (group)
 +					{
 +						group->unbound();
 +					}
 +				}
  			}
  		}
  	}
 @@ -1632,7 +1642,7 @@ BOOL LLVOVolume::updateGeometry(LLDrawable *drawable)  	mLODChanged = FALSE;
  	mSculptChanged = FALSE;
  	mFaceMappingChanged = FALSE;
 -
 +	
  	return LLViewerObject::updateGeometry(drawable);
  }
 | 
