mpe*_*pen 3 opengl 3d rendering depth
从一个角度看,我的灌木看起来像这样:

另一方面,它们看起来像这样:

我的理论是,当从第一个角度观察灌木时,灌木后面的所有块都已经被抽出,所以当它来绘制灌木时,它只是将它们拉到上面.
然而,从另一个角度来看,它基本上是先尝试绘制灌木,然后当它在灌木丛后面绘制块时,它会检查深度缓冲区并看到已经阻挡了块的视图,所以它没有渲染它,导致海军蓝色方块(我的颜色清晰).
我真的不知道如何解决这个问题.禁用深度测试会导致各种其他错误.有没有办法将顶点或多边形标记为具有透明度,以便它知道它仍然需要渲染后面的内容?
发现了这个.这是唯一的解决方案吗?要分离我的透明和不透明块,然后在CPU上手动对它们进行几乎每一帧的排序,因为玩家可以四处移动?必须有一种方法将其委托给GPU ......
该链接(以及在CPU上排序)用于alpha混合.如果您只需要Alpha测试(不是混合),那么您不需要对任何东西进行排序.只需启用alpha测试,启用深度测试,一切都将正常.
请参见此处:http://www.opengl.org/wiki/Transparency_Sorting 您需要"Alpha测试",需要进行alpha测试,而不是需要排序的"标准半透明".