我想在空间中的某些点使用glutSolidCube
绘制几个立方体。我发现的示例仅调用glutSolidCube
即可工作,但是为我绘制一个多维数据集的唯一方法是,如果该行用glBegin(GL_POLYGON)
括起来,则在我所看到的示例中并不需要,而我仅获得一个多维数据集而不是几个。我所拥有的是:
glColor3f(1, 0, 0);
glLoadIdentity();
glTranslatef(5,2,1);
glutSolidCube(1);
glLoadIdentity();
glTranslatef(10,8,0);
glutSolidCube(1);
glLoadIdentity();
glTranslatef(3,7,9);
glutSolidCube(1);
glLoadIdentity();
glTranslatef(1,4,6);
glutSolidCube(1);
当我运行时,什么也没有发生。我知道这些点不在我的视野范围内是没有问题的,因为如果在相同的点上绘制顶点,则可以看到它们。据我从阅读的示例和文档中可以看出,我没有做任何不正确的事情。有人可以告诉我我做错了什么,还是给我一段绘制多个多维数据集的代码片段?
最佳答案
试试这个:
glColor3f(1, 0, 0);
glPushMatrix();
glTranslatef(5,2,1);
glutSolidCube(1);
glPopMatrix();
glPushMatrix();
glTranslatef(10,8,0);
glutSolidCube(1);
glPopMatrix();
glPushMatrix();
glTranslatef(3,7,9);
glutSolidCube(1);
glPopMatrix();
glPushMatrix();
glTranslatef(1,4,6);
glutSolidCube(1);
glPopMatrix();
无需使用
glLoadIdentity()
重置模型 View 矩阵。请注意,首先您需要调用glOrtho()
或glPerspective()
一次设置摄像机。