在以往的OpenGL1.1版本中,要想画一个正方形是比较容易的,院校里大部分计算机图形学课程都是围绕1.1版本来讲的,但是过渡到现代OpenGL以后,画图方式与原先有了很大不同,其中一个重要变化就是图元类型,下面就来看看在现代OpenGL(本文使用4.3版本)中,如何使用不同的图元类型画一个正方形。
首先对比一下新旧版本中图元类型的差异
图元类型 | OpenGL1.1版枚举量 | OpenGL4.3版枚举量 |
---|---|---|
多个顶点 | GL_POINTS | GL_POINTS |
多组双顶点线段 | GL_LINES | GL_LINES |
单个简单填充凸多边形 | GL_POLYGON | 取消 |
多组独立填充三角形 | GL_TRAINGLES | GL_TRAINGLES |
多组独立填充四边形 | GL_QUADS | 取消 |
不闭合折线 | GL_LINE_STRIP | GL_LINE_STRIP |
闭合折线 | GL_LINE_LOOP | GL_LINE_LOOP |
线型连续填充三角形串 | GL_TRAINGLE_STRIP | GL_TRAINGLE_STRIP |
扇形连续填充三角形串 | GL_TRAINGLE_FAN | GL_TRAINGLE_FAN |
连续填充四边形串 | GL_QUAD_STRIP | 取消 |
由上表可以看出,现代OpenGL中取消了和多边形相关的图元类型,因为多边形可以由三角形来绘制,因此,如GL_POLYGON、GL_QUADS、GL_QUAD_STRIP这样的枚举类型在OpenGL4.3中是无效的,在1.1版本中,我们通过下述代码绘制正方形
glBegin(GL_POLYGON);
glVertex3f(0.0,