diff options
| author | Oz Linden <oz@lindenlab.com> | 2012-07-17 12:16:37 -0400 |
|---|---|---|
| committer | Oz Linden <oz@lindenlab.com> | 2012-07-17 12:16:37 -0400 |
| commit | e49faf96aa5e4730d64d9a9c18737730624b695f (patch) | |
| tree | 3d10444163234a81c71283f1a6419bfe93853cda /indra/newview/llface.cpp | |
| parent | a4df79bcdc27ab06711f1f392a4f69bf832e1916 (diff) | |
| parent | 291be170781b3a33769cb23c15322dd56b2c8025 (diff) | |
merge changes for DRTVWR-183
Diffstat (limited to 'indra/newview/llface.cpp')
| -rw-r--r-- | indra/newview/llface.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index 2d84c5d7de..373b1930f5 100644 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -326,7 +326,20 @@ void LLFace::setTexture(LLViewerTexture* tex) void LLFace::dirtyTexture() { - gPipeline.markTextured(getDrawable()); + LLDrawable* drawablep = getDrawable(); + + if (mVObjp.notNull() && mVObjp->getVolume() && + mTexture.notNull() && mTexture->getComponents() == 4) + { //dirty texture on an alpha object should be treated as an LoD update + LLVOVolume* vobj = drawablep->getVOVolume(); + if (vobj) + { + vobj->mLODChanged = TRUE; + } + gPipeline.markRebuild(drawablep, LLDrawable::REBUILD_VOLUME, FALSE); + } + + gPipeline.markTextured(drawablep); } void LLFace::switchTexture(LLViewerTexture* new_texture) |
