java - 隐藏魔方内部接线

标签 java opengl rubiks-cube

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

关于java - 隐藏魔方内部接线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3405354/

相关文章:

java - 在使用 Jackson 反序列化之前重构 JSON

java - Java中如何获取当前工作目录?

opengl - 带有 EGL 的 Vulkan 接头

python - 嵌套循环显然不在 PyOpenGL 中循环

data-structures - 您将如何用代码表示魔方?

java - 在不使用 QueryString 的情况下将变量从一个网站页面传递到另一个网站页面

java - 逐行读取文件,然后修改一行并仅保存该行

opengl - OpenGL 渲染可以用于 3D 显示器吗?

Python 3.2.1 : exec ('x = y()' ) sets a value in a toy example, 但不在完整代码中

c - OpenGL:在图像表面绘制的污迹