diff options
author | MartinRJ Fayray <fuerholz@gmx.net> | 2012-06-10 14:18:38 +0200 |
---|---|---|
committer | MartinRJ Fayray <fuerholz@gmx.net> | 2012-06-10 14:18:38 +0200 |
commit | 08c424e5111f4fae34f55935739fd475c8ab3bff (patch) | |
tree | 8203b82171d13367a59f08f3c8c1a1891417b4d8 /indra/newview/pipeline.cpp | |
parent | a519e34f02b4b2663fe082ba9ad12f1b423669cb (diff) |
STORM-1878: Blocking an avatar does not derender worn lights
Diffstat (limited to 'indra/newview/pipeline.cpp')
-rw-r--r-- | indra/newview/pipeline.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index ab994c71cb..7b0677ea1e 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -1635,6 +1635,21 @@ void LLPipeline::unlinkDrawable(LLDrawable *drawable) } +//static +void LLPipeline::removeMutedAVsLights(LLVOAvatar* muted_avatar) +{ + LLFastTimer t(FTM_REMOVE_FROM_LIGHT_SET); + for (light_set_t::iterator iter = gPipeline.mNearbyLights.begin(); + iter != gPipeline.mNearbyLights.end(); iter++) + { + if (iter->drawable->getVObj()->isAttachment() && iter->drawable->getVObj()->getAvatar() == muted_avatar) + { + gPipeline.mLights.erase(iter->drawable); + gPipeline.mNearbyLights.erase(iter); + } + } +} + U32 LLPipeline::addObject(LLViewerObject *vobj) { LLMemType mt_ao(LLMemType::MTYPE_PIPELINE_ADD_OBJECT); |