java - 较远的平面渲染在较近的平面前面

标签 java opengl-es libgdx

我有一个 libgdx 应用程序,我在其中创建了一个由立方体组成的迷宫。 当我渲染底部蓝色和顶部红色面时,底部一个会渲染在顶部面的前面。两个面具有相同的法 vector 。

我可以切换远近剪裁平面吗?

这是我设置相机的方法:

public PerspectiveCamera updateCamera() {
       if (camera == null) {
          float aspectRatio = Gdx.graphics.getWidth() / Gdx.graphics.getHeight();
          camera = new PerspectiveCamera(67f, aspectRatio, 1);
          this.setActive(true);
      }
      return camera;
}

enter image description here Bottom is clearly below top

最佳答案

我只是忘记添加深度测试。

添加到 create() 方法:

Gdx.gl.glEnable(GL10.GL_DEPTH_TEST);
Gdx.gl.glDepthFunc(GL10.GL_LESS);

添加到 render() 方法:

Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

关于java - 较远的平面渲染在较近的平面前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13985425/

相关文章:

java - 使用 GWT 查看文件是否被修改

java - 同步有多贵?

math - 向量数学,在两个向量之间的平面上找到坐标

立方体上的 Android OpenGL 触摸方向

opengl - OpenGL/OpenGLES 中的帧缓冲区纹理行为

java - 加载错误 LibGDX/Scene2d

java - Libgdx 从 Gdx.files.external() 加载纹理,显示为黑色矩形

java - 如何根据 ListView 项的名称分离值? (详尽的描述)

java - 遇到将字符串转换为 Int 的递归问题

java - 扩展矩形的类不会与 libgdx 重叠