2010-06-08 239 views
2

有幾種技術,我想對他們的利弊反饋一些。據我所知有:Java3d:如何在Java 3D場景上繪製2d覆蓋圖?

  • 「光柵」技術

不得不使用圖片,這是不是一個真正的疊加,在三維場景中只是另一個對象。其他對象可以隱藏它。

容易,但我無法擺脫的閃爍

有其他的技術,我不知道呢?使用LWJGL或JME等其他庫會更容易嗎?

回答

1

你提到的這個「閃爍」被稱爲Z-fighting,這是因爲你的3D渲染不知道哪個多邊形在另一個之前,因爲Z位置值在渲染之前被截斷,以及它們太接近(或相同),它會導致未定義的情況,導致您提到的閃爍。

Z戰鬥可以減輕,但你不能完全消除它,所以,最終你可以應用一個紋理,你想要的字母,表面,或者你可以嘗試手動調整值2D疊加位置,試圖逐漸增加與其他多邊形的距離,通過小的比特,直到它足夠小,看起來好像它在那裏,並且足夠大以使Z值在截斷後不同,從而消除對渲染的懷疑,從而消除Z戰鬥。