diff options
author | Geenz <geenz@geenzo.com> | 2019-03-29 08:11:56 -0700 |
---|---|---|
committer | Geenz <geenz@geenzo.com> | 2019-03-29 08:11:56 -0700 |
commit | 57d88a8a98ef8663b9064b12143beb4068e58f86 (patch) | |
tree | 8b37cf56aa5e6d0882caee2bcd79b22c90f5350b /indra/newview/llvovolume.cpp | |
parent | 3fa8b844c39311a2e4e319a8d4f7ab2c848ae140 (diff) |
Gamma correction pass 2:
Make sure lights are in the correct color space.
Bonus: cache the sRGB color in setLightColor on point and spot lights. Frees up a pow and some multiplies on the CPU every frame.
Diffstat (limited to 'indra/newview/llvovolume.cpp')
-rw-r--r-- | indra/newview/llvovolume.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 4ddd9c4568..85bc1ba845 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -3239,6 +3239,19 @@ LLColor3 LLVOVolume::getLightColor() const } } +LLColor3 LLVOVolume::getLightsRGBColor() const +{ + const LLLightParams *param_block = (const LLLightParams *)getParameterEntry(LLNetworkData::PARAMS_LIGHT); + if (param_block) + { + return LLColor3(param_block->getsRGBColor()) * param_block->getsRGBColor().mV[3]; + } + else + { + return LLColor3(1, 1, 1); + } +} + LLUUID LLVOVolume::getLightTextureID() const { if (getParameterEntryInUse(LLNetworkData::PARAMS_LIGHT_IMAGE)) |