基於D3D的Ray Trace

主角還是變形金剛永遠的兩巨頭--擎天柱、威震天。
 
  計算包括貼圖顏色Texture、漫反射diffuse、高光specular、反射Reflect、折射Refract、陰影Shadow。
 
  使用了D3D9 API,沒有使用GPU Shader。
 
  程序是在D3D Tutorial 06: Meshes Sample 基礎上順手改的。
 
  主要的幾何算法就是Ray與Triangle的碰撞檢測,Ray與AABB Box的碰撞檢測,Ray與包圍球的碰撞檢測。
 
  幾乎所有的計算時間都耗費在大量的Ray與Triangle的碰撞檢測上。這張412 X 386的圖片計算耗時估計超過
  三個小時。我的電腦CPU只是可憐的P4 1.7G,我曾經想計算一張800x800的圖,可惜從我早上打開電腦開始算,一直到晚上回家也沒有算完。而且大圖的計算一直還會出現意想不到的問題,結果會是一張莫名奇妙的圖。我至今還沒有找到問題所在。
 
 
 
  面的法線平滑好像有點問題。事實上我不知道如何取得類似D3D硬件所做的那種平滑插值的效果。而且整個場景有些偏暗,我猜測可能是取得貼圖顏色偏暗造成的。
 
  使用的模型是網絡上找到的低模,或許用低模做Ray Trace並不合適。但是因爲我可憐的CPU,同時沒有更好的算法優化,也只能這樣了。
 
  如果有時間,同時運氣足夠好的話。我會努力渲染出一張大點的圖出來,效果也許會好一些 。

這張是Ray Trace的結果

這張是D3D渲染的原圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章