OpenGL的RGB和RGBA颜色模型
- 可以使用下面的函数将颜色显示模型设定为RGB,其中变量表的第一个常量指示正在使用单个帧缓存,第二个常量设定为RGB模式。如果要使用指向颜色表的索引来指定颜色,则用OpenGL常量GLUT_INDEX取代GLUT_RGB。
- 如果要使用数组来指定三个颜色分量,则可以按如下方式设定颜色:
- 在OpenGL的内部,颜色信息用浮点数表示。我们也可以用整数来描述颜色,但它们被自动地转化成浮点数。
- 对于无符号类型,最小值转化为浮点数0.0,最大值转换为浮点数1.0;对带符号的类型,最小值转换为-1.0,而最大值转化为1.0。
- 如果用无符号32位整数,范围位0-4294967295。在这种尺度西,颜色分量的最小变化基本上表现不出来。
OpenGL颜色索引模式
OpenGL颜色调和
- 许多图形软件包提供生成多种颜色调和效果的方法,这些函数称为颜色调和函数或图像混合函数。
- 在OpenGL中,通过先将第一个对象装载进帧缓存中,再将第二个对象的颜色与帧缓存颜色相混合来实现两个对象颜色的调和。当前帧缓存颜色称为OpenGL目标颜色,而第二个对象的颜色称为OpenGL源颜色。调和方法仅在RGB和RGBA模型下完成。
- 要在应用中进行颜色调和,必须先用下面的函数激活这个OpenGL特性:
- 使用下面的函数将关闭OpenGL的颜色调和子程序:
- 如果颜色调和没有被激活,则一个对象的颜色将简单地取代帧缓存中相应位置的内容。
OpenGL颜色数组
- 必须使用下面的函数才能激活OpenGL的颜色数组:
- 如果我们要将颜色和顶点值改为浮点数,则需按照下面的格式使用该函数:
其他OpenGL颜色函数
- 用来为窗口选择RGB颜色分量的函数为: