diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/llvovolume.cpp | 14 |
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 @@ | |||
66 | const S32 MIN_QUIET_FRAMES_COALESCE = 30; | 66 | const S32 MIN_QUIET_FRAMES_COALESCE = 30; |
67 | const F32 FORCE_SIMPLE_RENDER_AREA = 512.f; | 67 | const F32 FORCE_SIMPLE_RENDER_AREA = 512.f; |
68 | const F32 FORCE_CULL_AREA = 8.f; | 68 | const F32 FORCE_CULL_AREA = 8.f; |
69 | const S32 SCULPT_REZ = 128; | ||
69 | 70 | ||
70 | BOOL gAnimateTextures = TRUE; | 71 | BOOL gAnimateTextures = TRUE; |
71 | extern BOOL gHideSelectedObjects; | 72 | extern BOOL gHideSelectedObjects; |
@@ -272,9 +273,9 @@ U32 LLVOVolume::processUpdateMessage(LLMessageSystem *mesgsys, | |||
272 | void LLVOVolume::animateTextures() | 273 | void 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 | } |