我花了一些时间为你和其他对这个话题感兴趣的人准备了示例应用程序。这些应用程序是使用Metal编写的纯Swift,目前设计运行在iOS平台上。(我个人建议使用快速设备)
在这里,你可以找到第一个“简单”的默认苹果光线追踪器:
https://github.com/philvanza/SceneKit-RayTracing
这里有一个相同的应用程序,配备了一个更复杂的光线追踪器,支持BSDF(双向散射分布函数),使您可以对透明玻璃等进行光线追踪:
https://github.com/philvanza/SceneKit-RayTracing-Advanced
基本上,您需要以下内容才能实现光线追踪:您让光线追踪器运行的时间越长,结果就会越好。
要添加太多代码,所以我准备了这些存储库。随意留下评论,告诉我您对光线追踪器的看法。
玩得开心!