//光照
float ambientLightColor[] = { 1.0f, 0.5f, 0.5f, 1.0f };
float diffuseLightColor[] = { 1.0f, 1.0f, 1.0f, 1.0f };
float specularLightColor[] = { 1.0f, 1.0f, 1.0f, 1.0f };
float lightPos[] = { 3.0f,5.0f,-5.0f,1.0f };
//float lightPos[] = { 0.2f,1.0f,1.0f,0.0f }; //方向光
glEnable(GL_LIGHT0); //激活光源1
glLightfv(GL_LIGHT0, GL_AMBIENT, ambientLightColor);
glLightfv(GL_LIGHT0, GL_DIFFUSE, ambientLightColor);
glLightfv(GL_LIGHT0, GL_SPECULAR, ambientLightColor);
glLightfv(GL_LIGHT0, GL_POSITION, lightPos);
glLightf(GL_LIGHT0, GL_LINEAR_ATTENUATION, 0.5f); //灯光衰减
float ambientM[] = { 0.1f,0.0f,0.0f,1.0f };
float diffuseM[] = { 0.1f,0.0f,0.0f,1.0f };
float specularM[] = { 1.0f,1.0f,1.0f,1.0f };
glMaterialfv(GL_FRONT, GL_AMBIENT, ambientM); //材质
glMaterialfv(GL_FRONT, GL_DIFFUSE, diffuseM);
glMaterialfv(GL_FRONT, GL_DIFFUSE, specularM);
glMaterialf(GL_FRONT, GL_SHININESS, 10.0f);
glEnable(GL_LIGHTING); //光照的总开关
光照
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 版本记录 前言 OpenGL 图形库项目中一直也没用过,最近也想学着使用这个图形库,感觉还是很有意思,也就自然想着...
- 前面的材质系统对于除了最简单的模型以外都是不够的,所以我们需要扩展前面的系统,我们要介绍diffuse和specu...
- 广义的来说,Unity的全局光照是”实时”或是”预先计算好”的,在某些情况下两种方法可以结合使用,照出更逼真的场景...
- 只有静态的对象物体才会被Unity的Baked或者Precomputed Realtime GI 系统所考虑。为了...