材质的颜色

这篇博客介绍了OpenGL中材质颜色在无光照和有光照模型下的表现。在无光照模型中,颜色直接由glColor*函数设置;而在有光照模型下,材质颜色受到光源和glMaterial*()设置的影响。启用GL_COLOR_MATERIAL后,光照模型会根据glColor*()设定的颜色调整。文章探讨了glColorMaterial()函数的参数设置,包括face和mode的不同选项。
摘要由CSDN通过智能技术生成

在OpenGL的绘制中,我们一般会给绘制物体加上颜色,根据场景的不同,有几下几种方法:

1. 无光照

在无光照模型下,是最简单的一种情形,在这种情况下,直接使用glColor*函数来设置每个顶点的颜色,这种方法简单直接。

2.有光照

在有光照的模型下,模型的颜色受以下几方面的影响:光源的颜色属性 ,以及通过glMaterial*()设置的材质的属性。同时glColor*()命令将失去作用。但是我们可以用glEnable(GL_COLOR_MATERIAL)

如果调用了glEnable(GL_COLOR_MATERIAL),那么就会使光照模型中的几种光根据glColor*()中的指定确定颜色:void glColorMaterial(GLenum face, GLenum mode);其中face的取值GL_FRONT, GL_BACK与GL_FRONT_AND_BACK(默认值)mode的取值为GL_EMISSION, GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR与GL_AMBIENT_AND_DIFFUSE(默认值)

例如:

glEnable(GL_COLOR_MATERIAL); 
glColorMaterial(GL_FRONT, GL_DIFFUSE); 
/* now glColor* changes diffuse reflection */ 
glColor3f(0.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值