我用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來做到這一點?