簡體   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