标签:
OpenGL颜色函数(上)glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);变量表中的第一个参数指示正在使用单个帧缓存,第二个参数设定RGB模式,即默认模式。我们可以用GLUT_RGB或GLUT_RGBA之一来选择颜色模型。如果要用指向颜色表的索引来指定颜色,则用OpenGL常量GLUT_INDEX取代GLUT_RGB。
glColor* (colorComponents);后缀码与glVertex函数中的相同。使用3或4及数值的数据类型码和一个任选的向量后缀一起指定RGB或RGBA模式。该数值数据类型是b(字节)、i(整数)、s(短整数)、f(浮点数)和d(双精度浮点数)以及无符号数值。颜色分量的浮点数范围从0.0到1.0,glColor包括α值的默认颜色分量是(1.0, 1.0, 1.0, 1.0),它将RGB颜色设成白色而α值为1.0。作为例子,下面的语句在RGB模式下使用浮点值将图元当前颜色设定为青色(绿色和蓝色最高强度的混合)。
glColor3f (0.0, 1.0, 1.0);使用数组指定三个颜色分量,则可按如下方式设定上例中的颜色:
glColor3fv (colorArray);使用glBegin/glEnd函数对可为单个点位置设定选择的OpenGL颜色。
glColor3i (0, 255, 255);帧缓存实际上存储整数值,因此用整数指定颜色分量可避免给出浮点数必须进行的转换工作。任何格式指定的颜色值都要按比例转换成特定系统有效位所确定的范围中的整数。
glIndex* (colorIndex);参数colorIndex被赋予一个非负整数。该索引值被存储到随后指定的图元对应的帧缓存位置中。我们可以将索引指定为如下数据类型:无符号字节、整数和浮点数。参数colorIndex的数据类型由后缀码ub, s, i, d和f来指定,而颜色表的索引数总是2的指数,如256或1024。每一表项的位数依赖于系统的硬件设施。作为索引模式的颜色指定示例,下面的语句将当前颜色索引设定为196。
glIndexi (196);所有在这个语句后定义的图元都被赋予颜色表该位置中存储的颜色,直到当前颜色再次改变。
glutSetColor (index, red, green, blue);颜色参数red , green和blue被赋予从0.0到1.0范围中的浮点数。该颜色装入用参数index的值指定的表项中。
glEnable(GL_BLEND);使用下面的函数将关闭OpenGL的颜色调和子程序:
glDiaable(GL_ BLEND);如果颜色调和没有被激活,则一个对象的颜色将简单地取代帧缓存中相应位置的内容。
g1BlendFunc(sFactor,dFactor);参数sFactor和dFactor,即源和目标因子,都用OpenGL符号常量赋值以指定为预定义的一组四元素调和系数。例如,常量GL_ZERO表示调和因子(0.0, 0.0, 0.0, 0.0)而GL_ONE表示(1.0, 1.0, 1.0, 1.0)。我们可以使用GL_DST_ALPHA或GL_SRC_ALPHA将四个调和因子设为目标α值或源α值。其他可用来设定调和因子的OpenGL常量有GL_ONE_MINUS_DST_ALPHA,
计算机图形学(三)_图元的属性_3_OpenGL颜色函数(上)
标签:
原文地址:http://blog.csdn.net/heyuchang666/article/details/51736210