Java3d:如何在Java 3d场景上绘制2D叠加层?

时间:2010-06-08 21:11:08

标签: java java-3d

有几种技巧,我想对它们的优缺点进行一些反馈。据我所知,有:

  • “光栅”技术

必须使用图像,它不是真正的叠加层,只是3D场景中的另一个对象。其他对象可以隐藏它。

容易,但我无法摆脱闪烁的

还有其他我不知道的技巧吗?使用LWJGL或JME等其他库会更容易吗?

1 个答案:

答案 0 :(得分:1)

你提到的这个“闪烁”被称为Z-fighting,它发生是因为你的3D渲染不知道哪个多边形在另一个之前,因为Z位置值在渲染之前被截断,当它们被截断时太接近(或相同),它会导致未定义的情况导致你提到的闪烁。

Z-fighting可以减轻,但你不能完全消除它,所以,最终你可以将带有你想要的字母的纹理应用到表面,或者你可以尝试手动调整它的值2D叠加位置,试图通过小位逐渐增加它与其他多边形的距离,直到它足够小以至于它是否存在,并且大到足以使Z值在被截断后变得不同,从而消除了疑问用于渲染,从而消除了Z战斗。