我正在使用libgdx编写一个2d游戏引擎,其中必须使用带有SpriteBatch的OrthgraphicCamera来呈现多层精灵。我的层是使用z组件排序的:较高的z层应该呈现在具有较低z的层的顶部。
目前,为了实现这一点,我必须呈现按z组件排序的层。是否有一种方法,使用opengl Z-缓冲区,将它们按顺序呈现,但仍能正确显示?
发布于 2022-07-03 11:12:27
通过切换到DecalBatch而不是SpriteBatch来修正。下面是我在使用DecalBatch进行深度测试之前使用的GL命令:
Gdx.gl.apply {
glClearColor(0f, 0f, 0f, 0f);
glEnable(GL20.GL_DEPTH_TEST)
glClear(GL20.GL_COLOR_BUFFER_BIT or GL20.GL_DEPTH_BUFFER_BIT)
glClearDepthf(1f)
glDepthFunc(GL20.GL_LESS)
}https://stackoverflow.com/questions/72828623
复制相似问题