在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()
调用。