2012-02-07 73 views
0

這是一個比編碼問題更概念化的問題。我已經想出了BSP樹的基本概念,但是在定位時遇到麻煩。我已經知道要在BSP樹中找到我當前的位置,如果我在分割平面的前面,我會繼續遞歸地遍歷樹移動到右側,如果我在它後面,則繼續離開。當我最終擊中一個葉節點時,那就是我在世界上的位置。與位置相關的BSP樹遍歷?

現在,就渲染而言,如果我必須從前到後渲染,我會從樹的右側開始遞歸渲染,直到我點擊左側的最後一個節點。怎麼回到前面?它會是相反的嗎?

謝謝!

回答

1

如果您想要回到前面,即Painters algorithm,您將在前面遍歷左節點,然後渲染並遍歷右節點。

對於從前到後它將是相反的。

+0

你的措辭使我困惑了一下。因此,使用Painters算法,我從左側遍歷,直到到達我的當前位置,然後渲染該對象,然後遍歷並渲染該對象? – 2012-02-07 23:57:43

+0

基本上就是這樣。這是一個深度第一次遍歷左上第一次繪畫的過程中正在往上走。所以在每個節點上你都要這樣做:確定你是在前面還是後面,然後你會遍歷更多的左邊或右邊。然後繪製然後遍歷左或右。 – stryba 2012-02-08 00:23:05