- changed handling of DynLight in shader to serve as a global dynamic light color for all lighting modes.

This commit is contained in:
Christoph Oelckers 2014-05-11 16:49:17 +02:00
commit 52056a05bd
12 changed files with 61 additions and 89 deletions

View file

@ -224,15 +224,16 @@ bool FRenderState::ApplyShader()
glUniform3iv(activeShader->lightrange_index, 1, mNumLights);
glUniform4fv(activeShader->lights_index, mNumLights[2], mLightData);
}
if (glset.lightmode == 8)
{
glUniform3fv(activeShader->dlightcolor_index, 1, mDynLight);
}
if (mObjectColor != activeShader->currentobjectcolor)
{
activeShader->currentobjectcolor = mObjectColor;
glUniform4f(activeShader->objectcolor_index, mObjectColor.r / 255.f, mObjectColor.g / 255.f, mObjectColor.b / 255.f, mObjectColor.a / 255.f);
}
if (mDynColor != activeShader->currentdlightcolor)
{
activeShader->currentobjectcolor = mObjectColor;
glUniform4f(activeShader->dlightcolor_index, mDynColor.r / 255.f, mDynColor.g / 255.f, mDynColor.b / 255.f, 0);
}
return true;
}