本系列文章是對 metalkit.org 上面MetalKit內容的全面翻譯和學習.
本文非常之短,主要是因為兩個原因:
- 射線追蹤的概念
蘋果
已經在文件說明頁面中解釋地非常清楚了.我只是將他們的程式碼從Objective-C
轉換為了Swift
,因為我目前為止還沒有看到Swift
版本. - 我的書,Metal by tutorials,將會花一整個章節來專門講
Metal Performance Shaders
框架和射線追蹤.
簡單來說,Metal Performance Shaders
框架有一個高效能的求交器(intersector),它使用了一個加速過的結構體,其中包含了場景中所有需要計算交點的頂點,來加速計算射線和三角形求交點.
這個專案只能用於渲染平面和立方體,但是在Metal by tutorials中,你將會使用一個模型載入器,通過它學會如何渲染任何形狀或體積的物體.
如果你建立並執行專案,你會看到類似下面的情況:
原始碼已釋出在github.下次見!