2009-04-23 43 views
1

我想玩一些圖形的東西。簡單的動畫和事物。我也想用光線跟蹤來玩弄。我需要幫助找到一個能幫助我做這些事情的圖書館。我有幾個要求:3D和光線跟蹤最好的事情

  • 必須能夠做到光線追蹤
  • 必須爲高級語言(蟒蛇,.NET等)。請不要C/C++
  • 必須有良好的文檔,最好有例子。

有誰知道一個好的圖書館,我可以用來愚弄?

回答

5

查看blender.org - 這是一個開源的具有python腳本功能的3d項目。

3

我不知道任何滿足您的請求的庫(除非我決定爲我自己的示蹤器發佈代碼...)。

寫一個示蹤器實際上並不那麼難。我強烈建議您取得Glassner的「光線追蹤簡介」副本。它通過相對容易理解的術語進行實際的數學計算,並且還有一整段關於「如何寫射線追蹤器」。

無論如何,一個「庫」本身並沒有太多的用處 - 幾乎每個射線跟蹤器都有自己的內部庫,但它們是特定於示蹤器的。它們典型地包括:

  1. 基類來表示3D對象的那個
  2. 子類爲每個幾何圖元
  3. 向量和矩陣類(3D和4D)
  4. 紋理化的功能和/或類
  5. 各類燈光類(點光燈,點光燈等)

對於我自己的示蹤器,我實際上使用了javax.vecmath封裝上面#3,但必須編寫我自己的代碼#1和#2基於Glassner書。整個事情完全在2k行代碼之下,大多數單獨的類都是大約40行。

1

的發達raytracers是開源是

對於實時3D(它當然會取決於語言)有JMonkeyEngine(Java)不確定是否符合您的「高級語言」要求。

你可以考慮一個3D遊戲的腳本語言也一樣,來我的心是流行的開源P.O.V光線跟蹤(www.povray.org)GameCoreBlitzBasic