LibGDX 3D 渲染中的附近矩形 blocky/incorrectly

LibGDX nearby rectangles in 3D renders blocky/incorrectly

我正在使用 LibGDX,使用 ModelBuilder#createRect 在 3D 中构建矩形 space,将它们放置在 3D 环境中,并使用 ModelBatch 渲染它们。一切正常。当两个矩形彼此靠近时会出现问题。它似乎具有深度范围,其中一些实际位于后面的矩形呈现在前面。

为了帮助说明我的意思,这里有一些例子:

即使我们有 2 个垂直角度相同的矩形(灌木丛和图形),当模型实例彼此靠近时,即使矩形是平的并且一个应该完全在另一个前面,而不是在图形前面的灌木丛中的小条纹。

这里有 2 个相交的矩形(墙和图形)。我希望在 2 个矩形之间看到一个干净的切口,但我却得到了一个楼梯。这会让我相信它会保持区域范围,其中一个矩形始终在该范围内的另一个矩形之前,即使该范围内可能存在交叉点,或者它忽略了矩形的一部分,认为它不需要渲染它。

我相信这两个例子源于同一个问题。

当我渲染矩形时,这里是 material.

的代码
material.set(BlendingAttribute(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA),
                FloatAttribute(AlphaTest, 0.5f))

添加一个带有任意浮点数的 FloatAttribute 似乎可以缓解这个问题,但并非完全如此。 (上面的例子是带float属性的。)

我正在使用 EnvironmentModelBatchcom.badlogic.gdx.graphics.g3d 来渲染矩形。

如何使用 LibGDX 正确渲染 3D 矩形?

在评论中支持@Tenfour04 考虑相机平面是问题所在。我有一个视锥体,其视点位于原点,0.1F 附近,4000F 远。将 near 更改为 50F 解决了问题,并且深度步骤变得更加合理。

这是 50F 而不是 0.1F 附近的样子: