Using opengl ZBuffer with Libgdx Spritebatch



我正在使用libgdx编写一个2d游戏引擎,其中多个精灵层必须使用SpriteBatch和OrthgraphicCamera进行渲染。我的图层是用z分量排序的:高z的图层应该渲染在低z的图层之上。

目前,我必须渲染层排序的z分量来实现这一点。是否有一种方法,使用opengl z缓冲区,让他们呈现无序,仍然正确显示?

通过切换到DecalBatch而不是SpriteBatch修复。以下是GL命令,我在使用DecalBatch绘制之前使用,以启用深度测试:

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)
}

最新更新