SL-12732 Lights not working in some cases

meow-7.2.2
Ansariel 2020-02-21 17:59:13 +01:00
parent bcf26494b3
commit e612f55367
1 changed files with 16 additions and 21 deletions

View File

@ -8875,29 +8875,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;