aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llvovolume.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/newview/llvovolume.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/linden/indra/newview/llvovolume.cpp b/linden/indra/newview/llvovolume.cpp
index b9bdddc..ccf0cba 100644
--- a/linden/indra/newview/llvovolume.cpp
+++ b/linden/indra/newview/llvovolume.cpp
@@ -66,6 +66,7 @@
66const S32 MIN_QUIET_FRAMES_COALESCE = 30; 66const S32 MIN_QUIET_FRAMES_COALESCE = 30;
67const F32 FORCE_SIMPLE_RENDER_AREA = 512.f; 67const F32 FORCE_SIMPLE_RENDER_AREA = 512.f;
68const F32 FORCE_CULL_AREA = 8.f; 68const F32 FORCE_CULL_AREA = 8.f;
69const S32 SCULPT_REZ = 128;
69 70
70BOOL gAnimateTextures = TRUE; 71BOOL gAnimateTextures = TRUE;
71extern BOOL gHideSelectedObjects; 72extern BOOL gHideSelectedObjects;
@@ -272,9 +273,9 @@ U32 LLVOVolume::processUpdateMessage(LLMessageSystem *mesgsys,
272void LLVOVolume::animateTextures() 273void LLVOVolume::animateTextures()
273{ 274{
274 F32 off_s = 0.f, off_t = 0.f, scale_s = 1.f, scale_t = 1.f, rot = 0.f; 275 F32 off_s = 0.f, off_t = 0.f, scale_s = 1.f, scale_t = 1.f, rot = 0.f;
275 S32 result; 276 S32 result = mTextureAnimp->animateTextures(off_s, off_t, scale_s, scale_t, rot);
276 277
277 if (result = mTextureAnimp->animateTextures(off_s, off_t, scale_s, scale_t, rot)) 278 if (result)
278 { 279 {
279 if (!mTexAnimMode) 280 if (!mTexAnimMode)
280 { 281 {
@@ -484,10 +485,11 @@ void LLVOVolume::updateTextures()
484 mSculptTexture = gImageList.getImage(id); 485 mSculptTexture = gImageList.getImage(id);
485 if (mSculptTexture.notNull()) 486 if (mSculptTexture.notNull())
486 { 487 {
487 mSculptTexture->addTextureStats(mPixelArea); 488 mSculptTexture->addTextureStats(SCULPT_REZ * SCULPT_REZ);
489 mSculptTexture->setBoostLevel(LLViewerImage::BOOST_SCULPTED);
488 } 490 }
489 491
490 S32 desired_discard = MAX_LOD - mLOD; 492 S32 desired_discard = 0; // lower discard levels have MUCH less resolution - (old=MAX_LOD - mLOD)
491 S32 current_discard = getVolume()->getSculptLevel(); 493 S32 current_discard = getVolume()->getSculptLevel();
492 494
493 if (desired_discard != current_discard) 495 if (desired_discard != current_discard)
@@ -701,7 +703,7 @@ void LLVOVolume::sculpt()
701 if (mSculptTexture.notNull()) 703 if (mSculptTexture.notNull())
702 { 704 {
703 S32 discard_level; 705 S32 discard_level;
704 S32 desired_discard = MAX_LOD - mLOD; // desired 706 S32 desired_discard = 0; // lower discard levels have MUCH less resolution
705 707
706 discard_level = desired_discard; 708 discard_level = desired_discard;
707 709
@@ -2210,7 +2212,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
2210 { 2212 {
2211 LLDrawable* drawablep = *drawable_iter; 2213 LLDrawable* drawablep = *drawable_iter;
2212 2214
2213 if (drawablep->isDead()) 2215 if (drawablep->isDead() || drawablep->isState(LLDrawable::FORCE_INVISIBLE) )
2214 { 2216 {
2215 continue; 2217 continue;
2216 } 2218 }