void FillUniform(const SpotLight & light, ShaderProgramPtr program, const std::string & varName) { program->SetUniform(varName + ".Position_Intensity", light.Position_Intensity); program->SetUniform(varName + ".Color_AmbientIntensity", light.Color_AmbientIntensity); program->SetUniform(varName + ".Attenuation_InnerAngle", light.Attenuation_InnerAngle); program->SetUniform(varName + ".Direction_OuterAngle", light.Direction_OuterAngle); }
void FillUniform(const DirectionalLight & light, ShaderProgramPtr program, const std::string & varName) { program->SetUniform(varName + ".Direction_Intensity", light.Direction_Intensity); program->SetUniform(varName + ".Color_AmbientIntensity", light.Color_AmbientIntensity); }
void FillUniform(const PointLight & light, ShaderProgramPtr program, const std::string & varName) { program->SetUniform(varName + ".Position_Intensity", light.Position_Intensity); program->SetUniform(varName + ".Color_AmbientIntensity", light.Color_AmbientIntensity); program->SetUniform(varName + ".Attenuation_Pad", light.Attenuation_Pad); }