summaryrefslogtreecommitdiff
path: root/indra/llrender
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2011-09-17 00:19:19 -0500
committerDave Parks <davep@lindenlab.com>2011-09-17 00:19:19 -0500
commit4f99ace06944a704e46cc3014607f3a5a4ef246b (patch)
tree187224a72f78f260acd80ab732d49940c7e2afc8 /indra/llrender
parent8a1baaea6c0462b645499e8e7b88345e46b92621 (diff)
SH-2243 work in progress -- put back ambient lighting when atmospheric shaders disabled.
Diffstat (limited to 'indra/llrender')
-rw-r--r--indra/llrender/llrender.cpp14
-rw-r--r--indra/llrender/llrender.h4
2 files changed, 17 insertions, 1 deletions
diff --git a/indra/llrender/llrender.cpp b/indra/llrender/llrender.cpp
index 5f5b76d425..f0d59d0eaf 100644
--- a/indra/llrender/llrender.cpp
+++ b/indra/llrender/llrender.cpp
@@ -1114,6 +1114,7 @@ void LLRender::syncLightState()
shader->uniform3fv("light_direction", 8, direction[0].mV);
shader->uniform3fv("light_attenuation", 8, attenuation[0].mV);
shader->uniform3fv("light_diffuse", 8, diffuse[0].mV);
+ shader->uniform4fv("light_ambient", 1, mAmbientLightColor.mV);
}
}
@@ -1638,6 +1639,19 @@ LLLightState* LLRender::getLight(U32 index)
return NULL;
}
+void LLRender::setAmbientLightColor(const LLColor4& color)
+{
+ if (color != mAmbientLightColor)
+ {
+ ++mLightHash;
+ mAmbientLightColor = color;
+ if (!LLGLSLShader::sNoFixedFunction)
+ {
+ glLightModelfv(GL_LIGHT_MODEL_AMBIENT, color.mV);
+ }
+ }
+}
+
bool LLRender::verifyTexUnitActive(U32 unitToVerify)
{
if (mCurrTextureUnitIndex == unitToVerify)
diff --git a/indra/llrender/llrender.h b/indra/llrender/llrender.h
index 3f319022f6..7d636060f5 100644
--- a/indra/llrender/llrender.h
+++ b/indra/llrender/llrender.h
@@ -406,7 +406,8 @@ public:
eBlendFactor alpha_sfactor, eBlendFactor alpha_dfactor);
LLLightState* getLight(U32 index);
-
+ void setAmbientLightColor(const LLColor4& color);
+
LLTexUnit* getTexUnit(U32 index);
U32 getCurrentTexUnitIndex(void) const { return mCurrTextureUnitIndex; }
@@ -437,6 +438,7 @@ private:
glh::matrix4f mMatrix[NUM_MATRIX_MODES][LL_MATRIX_STACK_DEPTH];
U32 mCurMatHash[NUM_MATRIX_MODES];
U32 mLightHash;
+ LLColor4 mAmbientLightColor;
bool mDirty;
U32 mCount;