diff options
author | Dave Houlton <euclid@lindenlab.com> | 2020-08-05 18:31:32 +0000 |
---|---|---|
committer | Dave Houlton <euclid@lindenlab.com> | 2020-08-05 18:31:32 +0000 |
commit | b55be119002d547887e739d50be3136e5040fa25 (patch) | |
tree | d26f356660bde5d9784d9e4671c5f28f3a9ec039 /indra/llrender/llrender.cpp | |
parent | df85976a1fbc34dbcda286f29a36e39a6f16fdd5 (diff) | |
parent | 92ee1be5cf08158a40113a4bab5b7c5a9fc42055 (diff) |
Merged in euclid-13521 (pull request #228)
SL-13521 Add avatar appearance lighting to deferred lighting path
Approved-by: Andrey Kleshchev
Approved-by: Michael Pohoreski
Diffstat (limited to 'indra/llrender/llrender.cpp')
-rw-r--r-- | indra/llrender/llrender.cpp | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/indra/llrender/llrender.cpp b/indra/llrender/llrender.cpp index cabf0528f0..11d9ef3f57 100644 --- a/indra/llrender/llrender.cpp +++ b/indra/llrender/llrender.cpp @@ -1198,46 +1198,46 @@ void LLRender::refreshState(void) void LLRender::syncLightState() { - LLGLSLShader* shader = LLGLSLShader::sCurBoundShaderPtr; + LLGLSLShader *shader = LLGLSLShader::sCurBoundShaderPtr; - if (!shader) - { - return; - } + if (!shader) + { + return; + } - if (shader->mLightHash != mLightHash) - { - shader->mLightHash = mLightHash; + if (shader->mLightHash != mLightHash) + { + shader->mLightHash = mLightHash; - LLVector4 position[8]; - LLVector3 direction[8]; - LLVector4 attenuation[8]; - LLVector3 diffuse[8]; - LLVector3 diffuse_b[8]; - bool sun_primary[8]; + LLVector4 position[LL_NUM_LIGHT_UNITS]; + LLVector3 direction[LL_NUM_LIGHT_UNITS]; + LLVector4 attenuation[LL_NUM_LIGHT_UNITS]; + LLVector3 diffuse[LL_NUM_LIGHT_UNITS]; + LLVector3 diffuse_b[LL_NUM_LIGHT_UNITS]; + bool sun_primary[LL_NUM_LIGHT_UNITS]; - for (U32 i = 0; i < 8; i++) - { - LLLightState* light = mLightState[i]; + for (U32 i = 0; i < LL_NUM_LIGHT_UNITS; i++) + { + LLLightState *light = mLightState[i]; - position[i] = light->mPosition; - direction[i] = light->mSpotDirection; + position[i] = light->mPosition; + direction[i] = light->mSpotDirection; attenuation[i].set(light->mLinearAtten, light->mQuadraticAtten, light->mSpecular.mV[2], light->mSpecular.mV[3]); - diffuse[i].set(light->mDiffuse.mV); + diffuse[i].set(light->mDiffuse.mV); diffuse_b[i].set(light->mDiffuseB.mV); sun_primary[i] = light->mSunIsPrimary; - } + } - shader->uniform4fv(LLShaderMgr::LIGHT_POSITION, 8, position[0].mV); - shader->uniform3fv(LLShaderMgr::LIGHT_DIRECTION, 8, direction[0].mV); - shader->uniform4fv(LLShaderMgr::LIGHT_ATTENUATION, 8, attenuation[0].mV); - shader->uniform3fv(LLShaderMgr::LIGHT_DIFFUSE, 8, diffuse[0].mV); - shader->uniform4fv(LLShaderMgr::LIGHT_AMBIENT, 1, mAmbientLightColor.mV); + shader->uniform4fv(LLShaderMgr::LIGHT_POSITION, LL_NUM_LIGHT_UNITS, position[0].mV); + shader->uniform3fv(LLShaderMgr::LIGHT_DIRECTION, LL_NUM_LIGHT_UNITS, direction[0].mV); + shader->uniform4fv(LLShaderMgr::LIGHT_ATTENUATION, LL_NUM_LIGHT_UNITS, attenuation[0].mV); + shader->uniform3fv(LLShaderMgr::LIGHT_DIFFUSE, LL_NUM_LIGHT_UNITS, diffuse[0].mV); + shader->uniform4fv(LLShaderMgr::LIGHT_AMBIENT, 1, mAmbientLightColor.mV); shader->uniform1i(LLShaderMgr::SUN_UP_FACTOR, sun_primary[0] ? 1 : 0); shader->uniform4fv(LLShaderMgr::AMBIENT, 1, mAmbientLightColor.mV); shader->uniform4fv(LLShaderMgr::SUNLIGHT_COLOR, 1, diffuse[0].mV); shader->uniform4fv(LLShaderMgr::MOONLIGHT_COLOR, 1, diffuse_b[0].mV); - } + } } void LLRender::syncMatrices() |