在绘制直线时,特别是一系列连续的点时,要特别注意 绘线方式GL_LINES 和GL_LINE_STRIP
- GL_LINES :每一对顶点被解释为一条直线。
- GL_LINE_STRIP: 一系列的连续直线。
当绘制的点只有两个时,如下代码
glBegin( GL_LINES);
glVertex*( V1);
glVertex*( V2);
glEnd();
与如下代码:
glBegin( GL_LINE_STRIP)
glVertex*( V1);
glVertex*( V2);
glEnd();
,GL_LINE与GL_LINE_STRIP绘线方式没有差异,绘制结果都是一条连接点V1与点V2的一条直线。
当绘制的是一系列点的时候,比如点集为:V1, V2, V3, V4, V5, V6; GL_LINES与GL_LINE_STRIP的区别就会很明显。如下代码:
glBegin( GL_LINES);
glVertex*( V1);
glVertex*( V2);
.....
glVertex*( V6);
glEnd();
上述程序的绘制结果是:V1与V2之间, V3与V4之间, V5与V6之间是直线连接的, V2与V3, V4与V5之间没有直线连接;如下为在棋盘格上以GL_LINES绘制的直线,可以看到直线之间有明显的断开:

如下代码:
glBegin( GL_LINE_STRIP);
glVertex*( V1);
glVertex*( V2);
.....
glVertex*( V6);
glEnd();
上述程序的绘制结果是:V1与V2, V2与V3, V3与V4, V4与V5,V5与V6之间都是直线连接的。如下为在棋盘格上以GL_LINE_STRIP绘制的直线, 没有断开。

本文介绍了OpenGL中的GL_LINES和GL_LINE_STRIP两种绘线方式,指出它们在绘制单对点和连续点集时的区别,GL_LINES绘制独立的线段,而GL_LINE_STRIP则形成连续路径。
4440

被折叠的 条评论
为什么被折叠?



