首页 > 其他 > 详细

《高效学习OpenGL》 之 定义材料属性 glMaterial()

时间:2014-02-21 04:03:40      阅读:371      评论:0      收藏:0      [点我收藏+]
   void glMaterialf (GLenum face, GLenum pname, GLfloat param);
   //指定光照计算的当前材料的属性,face可以是GL_FRONT,GL_BACK,GL_FRONT_AND_BACK,
   //pname表示设定特定的材料属性,param提供了具体的属性值

bubuko.com,布布扣

1.散射和环境反射

环境颜色影响物体的状整体颜色,当物体被直接照亮时,散射颜色占据主导地位,只有当物体并没有收到直接光照时,环境颜色才占据主导地位。

实例:

   glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, amb_Diff);
   //表示材料正面和背面的散射和环境反射是amb_Diff颜色

2.镜面反射

镜面指数越大,亮点就更小更亮

   GLfloat amb_Diff[4] = { 0.1, 0.5, 0.8, 1.0 };
   GLfloat specular[4] = { 1, 1, 1, 1.0 };
   GLfloat shin[] = { 10 };
   glMaterialfv(GL_FRONT, GL_SPECULAR, specular);	//颜色
   glMaterialfv(GL_FRONT, GL_SHININESS, shin);	//镜面指数

3.发射光颜色

使物体看上去好像发出这种颜色的光,如台灯

   GLfloat emission[4] = { 0.3, 0.2, 0.2, 1.0 };
   glMaterialfv(GL_FRONT, GL_EMISSION, emission);	//颜色


《高效学习OpenGL》 之 定义材料属性 glMaterial()

原文:http://blog.csdn.net/biggbang/article/details/19546351

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!