其他OpenGL线效果
除了指定线宽、线型和实心颜色之外,还可以使用颜色渐变来显示线段。例如,我们可以在定义线段时通过为每一端点赋以不同颜色来显示沿线段路径改变颜色的实线。在下列程序段中,我们通过将蓝色赋给线段的一个端点而将红色赋给另一端点来展示这一点。线段按两端点颜色的线性插值方式进行显示。
我们还可以通过用不同的颜色和线型显示相邻段来产生另外的效果。还可以通过用不同的α值添加到线段或其他对象中来使用OpenGL的颜色调和特性。使用像素阵列和颜色调和可模拟毛笔笔划和其他画笔效果。像素阵列可通过交互地移动来生成线段。像素阵列中的单个像素可赋予不同的α值,以显示画刷或笔划式线段。
除了指定线宽、线型和实心颜色之外,还可以使用颜色渐变来显示线段。例如,我们可以在定义线段时通过为每一端点赋以不同颜色来显示沿线段路径改变颜色的实线。在下列程序段中,我们通过将蓝色赋给线段的一个端点而将红色赋给另一端点来展示这一点。线段按两端点颜色的线性插值方式进行显示。
glShadeModel (GL_SMOOTH);
glBegin (GL_LINES);
glColor3f (0.0, 0.0, 1.0);
glVertex2i (50, 50);
glColor3f (1.0, 0.0 ,0.0);
glVertex2i (250, 250);
glEnd ();
函数
glShadeModel可以有另一个变量
GL_FLAT。在这种情况下,线段用单一颜色显示:第二个点(250,250)的颜色,即显示一条红色线段。实际上,GL_SMOOTH是默认,因此,即使未使用该函数也会显示一条均匀颜色插值的线段。
我们还可以通过用不同的颜色和线型显示相邻段来产生另外的效果。还可以通过用不同的α值添加到线段或其他对象中来使用OpenGL的颜色调和特性。使用像素阵列和颜色调和可模拟毛笔笔划和其他画笔效果。像素阵列可通过交互地移动来生成线段。像素阵列中的单个像素可赋予不同的α值,以显示画刷或笔划式线段。