2-3材质

51 阅读1分钟

定义一个材质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; 
};