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 - synchronized 关键字 - 它是否锁定两个对象?

java - Apache Spark : Garbage Collection Logs for Driver

android - 丢弃对OpenGL中的程序性能有害吗?

Android Studio Libgdx Sprite/纹理透明度

java - JOOQ "IN"查询抛出空指针异常

java - 点燃检查异常 : Failed to start processor: GridProcessorAdapter []

android - 在没有当前上下文的情况下调用 OpenGL ES API

android - Android 中的自定义相机滤镜

Java LibGDX 如何解析 JSON?

android - 使用 libgdx 绘画会使物体闪烁