在Java / OpenGL应用程序上下文中,我仅绘制了一个黑色的(未填充)有线的大立方体,该立方体由27个较小的立方体组成。为此,我编写了以下代码:

for (int x = 1; x <= 3; x++) {
    for (int y = 1; y <= 3; y++) {
        for (int z = 1; z <= 3; z++) {
            wireCube(x - 2, 2 - y, 2 - z);
         }
    }
}


wireCube方法是使用GL11.glBegin(GL11.GL_LINE_LOOP);实现的

使用对gluPerspective的正确调用来定义投影,以及对gluLookAt的正确调用来定位“摄像机”,我能够根据需要显示我的大立方体,并且....对此我感到非常高兴!

现在我的新问题是,如何修改此代码以“隐藏”大立方体内的所有布线?为了帮助可视化场景,这些布线是在学校学习3D几何图形时通常绘制的带有虚线的布线。

预先感谢您的帮助

马努

最佳答案

启用深度测试(glEnable(GL_DEPTH_TEST))并将四边形放在立方体的表面上。

要绘制四边形,请使用glBegin(GL_QUADS),后接四个顶点和glEnd()调用。

10-06 03:11