bsp-tree

    5熱度

    1回答

    我有一個BSP樹加載到內存中。我首先發現我在什麼葉子。接下來,我解碼PVS。然後,我瀏覽該PVS中的每個區域,看看它是否在我的平截頭體內。 我被告知這是渲染的不正確方式,而且實際上我應該通過遍歷BSP樹進行回到前面的渲染。我到底該怎麼做?我已經看到了許多不同的做法,這就是爲什麼我問。 例如,Quake 3 BSP渲染說: 遍歷BSP以確定攝像機位於哪個葉中。 檢索並解壓縮該葉子的PVS,遍歷PVS

    1熱度

    1回答

    我有一個BSP樹用於等距遊戲中的深度排序(我嘗試了無數其他方法),它似乎很接近,但在我的遊戲中,我無法拆分資產。因此,攔截當前飛機的項目,我只是將它們添加到「後面」和「前面」節點(如http://www.seas.upenn.edu/~cis568/presentations/bsp-techniques.pdf中所建議的那樣)。 當我遍歷樹時(從最低深度​​到最高),我只渲染一次精靈(第一次接近

    0熱度

    1回答

    任何人都可以使用BSP樹方法指向具有使用多邊形形狀生成三角形的代碼示例的資源? 謝謝。

    0熱度

    1回答

    嗨,我正在寫一個地震級別的渲染器。我已經到了需要考慮透明度的地步。我知道一個二進制空間分割器(BSP)樹的格式化方式是按照距離對數據進行排序,或者至少這是我所聽到的,但我對如何實現這一點不知所措。我建立了我的BSP樹並解碼了我的PVS。 做我: 1.找出我在什麼葉。6例如。 2.從max到6的渲染,認爲這些葉子在我的視錐體和PVS中。 3.從分鐘到6分鐘,再次考慮PVS和平截頭體。 這不是BSP樹

    2熱度

    1回答

    我正在構建一棵二叉樹。二叉樹預構建在一個文件中,我需要構建它。由於它的結構化方式,我將這棵樹讀入一個數組中。每個樹節點看起來像這樣。 struct Tree_Node { float normalX; float normalY; float normalZ; float splitdistance; long region; long

    0熱度

    1回答

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

    3熱度

    1回答

    我一直在嘗試實現一個三維BSP樹來渲染單個對象(一個立方體,一個圓柱體的盒子等),它們是透明的。據我瞭解,這應該工作,但它不是,我不明白爲什麼。我讀過的所有東西都是指BSP樹在兩個維度或多個對象中使用,所以我想知道是否我一般誤解了BSP樹可以應用到什麼地方,而不是在我的代碼中出現錯誤。我在網上查了很多東西,我的代碼看起來和布雷頓韋德的一樣(ftp://ftp.sgi.com/other/bspfa

    0熱度

    1回答

    我需要證明我是如何改變不平衡 BSP到平衡BSP樹一個例子。 請幫幫我。

    0熱度

    1回答

    我想從一個未分類的浮點數組爲一個賦值構建一個二叉樹,但我無法弄清楚它。我的目標是將大小爲ndata的未排序數組xdata發送到函數build_tree(),該函數使用函數create_node()創建新節點。在數組大小大於1的情況下,它將調用函數paritition_data()(它工作正常,但我已將它放在問題的底部以供參考),它將交換數組值的順序,以便所有小於mid的值落在其左側,右側值更大。該

    1熱度

    1回答

    我知道如何利用像Quake等舊的3D級別的預建BSP樹,甚至編寫了一個級別渲染器。現在,我正在進入下一步,它實際上是自己構建BSP樹。我知道背後的過程,但我想知道是否有人有任何建議或指導教程的鏈接。