我用OpenGL 4.3编写了一个简单的程序,它显示了一个三角形,四边形和五边形。我在以下数组中定义了顶点:使用OpenGL 4.3创建形状
vec2 vertices[NumPoints] = {
vec2(-1, -0.75), vec2(-0.75, -0.25), vec2(-0.5, -0.75), //Triangle
vec2(0, -0.25), vec2(0.5, -0.25), vec2(0.5, -0.75), vec2(0, -0.75), //Quad
vec2(0.25, 0.25), vec2(0.5, 0.5), vec2(0.75, 0.25), vec2(0.65, 0), vec2(0.35, 0) // pentagon
};
为了简洁起见,我将省略大部分样板代码。在我的显示功能,我有以下代码:
glDrawArrays(GL_TRIANGLES, 0, 3); // draw the points
glDrawArrays(GL_TRIANGLE_FAN, 3, 4); //quad
glDrawArrays(GL_TRIANGLE_FAN, 7, 5); //polygon
一切工作正常,没有任何问题。但是,如果您需要确切知道您需要多少顶点,那么创建复杂场景似乎相当乏味且几乎不可能。我在这里错过了什么吗?另外,如果需要创建一个圆,我将如何使用GL_TRIANGLES来做到这一点?