SL-12732 Lights not working in some cases

meow-7.2.2
Andrey Kleshchev 2020-02-21 18:51:14 +02:00
parent 4ac03d4905
commit c5371bb271
1 changed files with 16 additions and 21 deletions

View File

@ -8684,29 +8684,24 @@ void LLPipeline::renderDeferredLighting()
}
}
const LLViewerObject *vobj = drawablep->getVObj();
if (vobj)
{
LLVOAvatar *av = vobj->getAvatar();
if (av)
{
if (av->isTooComplex() || av->isInMuteList() || dist_vec(av->getPosition(), LLViewerCamera::getInstance()->getOrigin()) > RenderFarClip)
{
continue;
}
}
else
{
const LLViewerObject *root_obj = drawablep->getParent() ? drawablep->getParent()->getVObj() : vobj;
if (root_obj && dist_vec(root_obj->getPosition(), LLViewerCamera::getInstance()->getOrigin()) > RenderFarClip)
{
continue;
}
}
}
const LLViewerObject *vobj = drawablep->getVObj();
if (vobj)
{
LLVOAvatar *av = vobj->getAvatar();
if (av && (av->isTooComplex() || av->isInMuteList()))
{
continue;
}
}
const LLVector3 position = drawablep->getPositionAgent();
if (dist_vec(position, LLViewerCamera::getInstance()->getOrigin()) > RenderFarClip + volume->getLightRadius())
{
continue;
}
LLVector4a center;
center.load3(drawablep->getPositionAgent().mV);
center.load3(position.mV);
const F32* c = center.getF32ptr();
F32 s = volume->getLightRadius()*1.5f;