正文

关于OpenGL中颜色指定问题2008-03-22 19:17:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/yuqiexing/33505.html

分享到:

还记得在MFC中绘制时,需要指定pen和brush。

到了OpenGL的恒定着色中,发现有个颜色指定函数glColor*,可以定义顶点的颜色,可是当绘制一些多边形的时候,需要指定很多顶点,如果我为每个顶点指定一个颜色,那么最后的多边形到底显示什么颜色呢?很有趣的一个问题。

上机尝试一下,就可以知道答案了。

原来,最后图元显示的颜色,跟“最后”一个顶点的颜色设置有关。

举例来说:

glBegin(GL_TRIANGLES);

glColor3f (1.0, 1.0, 1.0); // 指定白色             (1)

glVertex2f ( 10, 10);  //  第一个顶点

glColor3f (1.0, 0.0, 0.0); // 指定红色               (2)

glVertex2f ( 40, 40);  //  第二个顶点

glColor3f (0.0, 1.0, 0.0); // 指定绿色                 (3)

glVertex2f ( 40, 20);  //  第三个顶点

glEnd();

 

此时会发现,三角形显示为绿色,因为最后一个顶点设置为绿色。

若将第(3)句删掉,则显示为红色;若将第(2)句删掉,显示为白色。

阅读(2922) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册