本系列文章是对 metalkit.org 上面MetalKit内容的全面翻译和学习.
本文非常之短,主要是因为两个原因:
- 射线追踪的概念
苹果
已经在文档说明页面中解释地非常清楚了.我只是将他们的代码从Objective-C
转换为了Swift
,因为我目前为止还没有看到Swift
版本. - 我的书,Metal by tutorials,将会花一整个章节来专门讲
Metal Performance Shaders
框架和射线追踪.
简单来说,Metal Performance Shaders
框架有一个高性能的求交器(intersector),它使用了一个加速过的结构体,其中包含了场景中所有需要计算交点的顶点,来加速计算射线和三角形求交点.
这个项目只能用于渲染平面和立方体,但是在Metal by tutorials中,你将会使用一个模型加载器,通过它学会如何渲染任何形状或体积的物体.
如果你创建并运行项目,你会看到类似下面的情况:
源代码已发布在github.下次见!