定义一个材质struct
struct Material
{
vec3 ambient;//环境光
vec3 diffuse; //漫反射光
vec3 specular; //镜面反射光
float shininess;//反光度
};
给Material设置好光照后,计算最终光的属性
vec3 ambient = vec3(0.1) * material.ambient;
vec3 diffuse = vec3(1.0) * (diff * material.diffuse);
vec3 specular = vec3(1.0) * (spec * material.specular);
同样创建光的属性来影响光照分量
struct Light
{
vec3 position;
vec3 ambient;
vec3 diffuse;
vec3 specular;
};