4.2 计算机颜色

颜色的显示

显示器通过在每个像素上,发射不同数量的红、绿和蓝光,从而形成颜色。

颜色的存储

颜色的存储,可以按照两种模型进行,RGBA模式和颜色索引模式。

在RGBA模式下,每个像素分别保存一个R,G,B值,并可能保存一个A值。

在颜色索引模式下,每个像素存储一个表示颜色序号的数值(称为颜色索引)。每个颜色索引表示颜色表中一个特定的项。颜色表定义了一组特定的R,G,B值,称为颜色映射表。

颜色缓冲区

用于存储所有像素颜色的内存,称为颜色缓冲区(color buffer)。颜色缓冲区的大小通常是用位来表示的,因此8位的缓冲区使用8位数据存储每个像素的颜色(一共可以表示256中不同的颜色)。颜色缓冲区的大小,因机器而异。

颜色取值范围

R,G, B值的范围从0.0(无)到1.0(完全强度)。例如,R=0.0, G = 0.0, B = 1.0表示最亮的蓝色。如果一种颜色的R,G,B值都为0.0,那么它就是黑色。如果R,G,B值都是1.0,那么计算机屏幕将用最亮的白色来绘制。混合蓝色和绿色的结果是青色,混合红色和蓝色的结果是洋红,混合红色和绿色的结果是黄色。

指定物体的颜色

在OpenGL中,要指定物体的颜色,只需要通过glColor3f指定颜色,然后在这之后,进行物体绘制,即可。如:

glColor3f(1.0, 0.0, 0.0);
glBegin(GL_POINTS);
    glVertex3f(point_array);
glEnd();

但是有一点,在程序执行的早期,需要指定颜色模式,是RGBA模式,还是颜色索引模式,上述代码是在RGBA模式下设置颜色的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值