2011-09-24 60 views
1

我想光線跟蹤是PLY格式的斯坦福兔子模型。我有一個解析PLY文件的解析器,並給出了三​​角形的座標值及其頂點的值。現在我很困惑如何繼續前進。我應該將這些三角形頂點放在一個矢量中,然後傳遞它們來構建一棵K-D樹?還有人有一個教程或樣本源代碼,其中一個層模型被傳遞給k-d樹,然後k-d樹被遍歷以對該場景進行光線追蹤?如果有人有他們可以分享的示例代碼,請告訴我。謝謝。光線跟蹤使用k-d樹斯坦福兔子模型

回答

3

PLY是描述爲多邊形集合的對象的文件格式。 KD樹是一種優化結構,旨在通過消除不必要的相交測試來加快渲染時間。

所以,你需要:

  1. 定義自己的數據結構來表示對象爲點的集合和多邊形(其參考點)的集合。
  2. 編寫一個加載器,它使用解析器以PLY格式讀取對象,並構造一個多邊形類型的實例。
  3. 定義KD樹數據結構。
  4. 編寫一個KD樹構建器,它遍歷構成對象的多邊形並構建KD樹。
  5. 將光線跟蹤器擴展爲使用KD樹。

使用谷歌查看KD Trees的更多信息和樣本代碼。標準論文由Vlastimil Havran提供,可在線獲取。