从一个角度看,我的灌木看起来像这样:
从另一个角度看,它们是这样的:
我的理论是,当从第一个角度看灌木时,灌木后面的所有块都已经画好了,所以当绘制灌木时,它只是将它们绘制在上面。
然而,从另一个角度来看,它基本上是先尝试绘制灌木,然后当它去绘制灌木后面的块时,它会检查深度缓冲区并发现有东西已经挡住了块的视图,因此它不会不渲染它,导致海军蓝色方块(我的透明颜色)。
我真的不知道如何解决这个问题。禁用深度测试会导致各种其他错误。有没有某种方法可以将顶点或多边形标记为具有透明度,以便它知道它仍然需要渲染后面的内容?
找到了这个。这是唯一的解决方案吗?分离我的透明和不透明块,然后在几乎每一帧的 CPU 上手动对它们进行排序,因为玩家可以四处移动?必须有一种方法将其委托给 GPU...
该链接(以及 CPU 上的排序)用于 alpha 混合。如果您只需要 Alpha 测试(而不是混合),那么您不需要对任何内容进行排序。只需启用 alpha 测试,并保持启用深度测试,一切都会渲染得很好。
看这里:http://www.opengl.org/wiki/Transparency_Sorting您需要需要 alpha 测试的“Alpha 测试”,而不是需要排序的“标准半透明”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)