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

   void glMaterialf (GLenum face, GLenum pname, GLfloat param);
   //指定光照计算的当前材料的属性,face可以是GL_FRONT,GL_BACK,GL_FRONT_AND_BACK,
   //pname表示设定特定的材料属性,param提供了具体的属性值

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);	//颜色


  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虚坏叔叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值