OpengGL无法绘制多个对象

时间:2014-08-17 16:31:17

标签: c++ c opengl

我正在尝试使用OpenGL在C ++中绘制一个简单的条形图。

我正在努力画一个盒子......似乎是一个非常简单的任务,但我一定是误解了一些东西。

因此,为了帮助我更好地了解发生了什么,我尝试绘制线环。

由于某种原因,我的线路循环不断跳回坐标(0,0,0)。我不明白为什么会这样。

这是我的绘图代码:

GLfloat* points = new GLfloat[12];
points[0] = 0.5; // x
points[1] = 0.5; // y
points[2] = 0.0; // z
points[3] = 0.6; // x
points[4] = 0.5;
points[5] = 0.0;
points[6] = 0.6;
points[7] = 0.6;
points[8] = 0.0;
points[9] = 0.5;
points[10] = 0.6;
points[11] = 0.0;
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, points);
glEnableVertexAttribArray(0);
glDrawArrays(GL_LINE_LOOP, 0, 12);

这适用于绘制GL_LINES(线对),但不能正确绘制GL_TRIANGLE_FAN或GL_TRIANGLE_STRIP或GL_LINE_LOOP。 (0,0,0)处始终有1个坐标。这个代码有2组,另一组有不同的坐标。两个形状都有一条线到(0,0,0)。

我认为我完全误解了一些事情?

可能应该提到我已经习惯了旧的OpenGL。

0 个答案:

没有答案