Revert "SL-14895, point light atten should move inversely light radius (pull request #496)"

meow-7.2.2
Euclid Linden 2021-11-12 21:30:52 +00:00
parent 7ce17542d4
commit b7a7bcdc22
1 changed files with 10 additions and 8 deletions

View File

@ -6387,19 +6387,21 @@ void LLPipeline::setupHWLights(LLDrawPool* pool)
continue;
}
LLVector3 light_pos(light->getRenderPosition());
LLVector4 light_pos_gl(light_pos, 1.0f);
LLVector3 light_pos(light->getRenderPosition());
LLVector4 light_pos_gl(light_pos, 1.0f);
F32 light_radius = llmax(light->getLightRadius(), 0.001f);
F32 size = light_radius * (sRenderDeferred ? 1.5f : 1.0f);
F32 adjusted_radius = light->getLightRadius() * (sRenderDeferred ? 1.5f : 1.0f);
if (adjusted_radius <= 0.001f)
if (size <= 0.001f)
{
continue;
}
F32 x = (3.f * (1.f + (light->getLightFalloff() * 2.0f))); // why this magic? probably trying to match a historic behavior.
F32 linatten = x / adjusted_radius; // % of brightness at radius
F32 x = (3.f * (1.f + (light->getLightFalloff() * 2.0f))); // why this magic? probably trying to match a historic behavior.
F32 linatten = x / (light_radius); // % of brightness at radius
mHWLightColors[cur_light] = light_color;
mHWLightColors[cur_light] = light_color;
LLLightState* light_state = gGL.getLight(cur_light);
light_state->setPosition(light_pos_gl);
@ -6408,7 +6410,7 @@ void LLPipeline::setupHWLights(LLDrawPool* pool)
light_state->setConstantAttenuation(0.f);
if (sRenderDeferred)
{
light_state->setLinearAttenuation(linatten);
light_state->setLinearAttenuation(size);
light_state->setQuadraticAttenuation(light->getLightFalloff(DEFERRED_LIGHT_FALLOFF) + 1.f); // get falloff to match for forward deferred rendering lights
}
else