繁体   English   中英

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

[英]Java3d: How to draw a 2d overlay on a Java 3d scene?

有几种技术,我想就它们的优缺点提供一些反馈。 据我所知:

  • “光栅”技术

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

容易,但我无法摆脱闪烁

还有其他我不知道的技术吗? 使用另一个库,例如LWJGL或JME,会更容易吗?

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

可以消除Z角打折,但是您无法真正完全消除它,因此,最终您可以将具有所需字母的纹理应用于表面,也可以尝试手动调整2D叠加位置的值,尝试逐步将其与其他多边形的距离逐渐增加一点点,直到它足够小以使其看起来像它在那里,并且足够大以使Z值在被截断后有所不同,从而消除了渲染的疑问,因此消除了Z角战斗。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM