summaryrefslogtreecommitdiff
path: root/indra/newview/pipeline.cpp
diff options
context:
space:
mode:
authorRunitai Linden <davep@lindenlab.com>2020-03-27 17:32:01 -0500
committerRunitai Linden <davep@lindenlab.com>2020-03-27 17:32:01 -0500
commite468d8018634b51f329eae17485c3358c0a3630b (patch)
treedc12e082a97f56f422cfdd0655cb64975b986924 /indra/newview/pipeline.cpp
parentd756e185730f46fd78e88215e0b4b9fd282fd1d7 (diff)
SL-12902 Better fix for light color values in color swatch not matching light color values inworld.
Diffstat (limited to 'indra/newview/pipeline.cpp')
-rw-r--r--indra/newview/pipeline.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 1765ba227f..563b45273e 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -6325,8 +6325,8 @@ void LLPipeline::setupHWLights(LLDrawPool* pool)
mLightMovingMask |= (1<<cur_light);
}
- //NOTE: for legacy reasons, send sRGB color to light shader for both deferred and non-deferred path
- LLColor4 light_color = light->getLightColor();
+ //send linear light color to shader
+ LLColor4 light_color = light->getLightLinearColor();
light_color.mV[3] = 0.0f;
F32 fade = iter->fade;
@@ -8768,8 +8768,8 @@ void LLPipeline::renderDeferredLighting(LLRenderTarget* screen_target)
const F32* c = center.getF32ptr();
F32 s = volume->getLightRadius()*1.5f;
- //NOTE: for legacy reasons, send sRGB color to light shader
- LLColor3 col = volume->getLightColor();
+ //send light color to shader in linear space
+ LLColor3 col = volume->getLightLinearColor();
if (col.magVecSquared() < 0.001f)
{
@@ -8861,8 +8861,8 @@ void LLPipeline::renderDeferredLighting(LLRenderTarget* screen_target)
setupSpotLight(gDeferredSpotLightProgram, drawablep);
- //NOTE: for legacy reasons, send sRGB color to light shader
- LLColor3 col = volume->getLightColor();
+ //send light color to shader in linear space
+ LLColor3 col = volume->getLightLinearColor();
gDeferredSpotLightProgram.uniform3fv(LLShaderMgr::LIGHT_CENTER, 1, c);
gDeferredSpotLightProgram.uniform1f(LLShaderMgr::LIGHT_SIZE, s);
@@ -8951,8 +8951,8 @@ void LLPipeline::renderDeferredLighting(LLRenderTarget* screen_target)
setupSpotLight(gDeferredMultiSpotLightProgram, drawablep);
- //NOTE: for legacy reasons, send sRGB color to light shader
- LLColor3 col = volume->getLightColor();
+ //send light color to shader in linear space
+ LLColor3 col = volume->getLightLinearColor();
gDeferredMultiSpotLightProgram.uniform3fv(LLShaderMgr::LIGHT_CENTER, 1, tc.v);
gDeferredMultiSpotLightProgram.uniform1f(LLShaderMgr::LIGHT_SIZE, light_size_final);