《Ray Tracing in One Weekend》是比较有名的图形学入门系列教程。
最近在随便找点有趣的东西学学,刷 Twitter 还是 Reddit 看见了这个教程,上周末就抽时间边教程边用 Rust 写了下,效果挺好。
⬇️️⬇️️⬇️ 这里有图,图床用的是我自己的服务器,可能有点慢 ⬇️️⬇️️⬇️
Repo:https://github.com/7sDream/remda
应该也有其他人用 Rust 写过,但我没去搜,欢迎评论区补充。
目前只完成了系列教程第一本的主要部分,扩展部分完成了一个并行化(使用 rayon),具体见项目里的 Current Progress。
现在跑的化渲染速度其实挺慢的(可以直接 cargo run --release
试下),我简单看了下第二本的目录,后面 BVH 加上之后应该会快很多。
这周末应该就会开始看第二本,但进度就不敢保证了,如果有兴趣的话可以 Star 了等着看后面的效果,或者用于自己学习时的参考。
准备这系列看完之后参考着 rs-pbrt 项目看看 《PBRT》,真到那时候再开个新项目吧。
1
共 4 条评论, 1 页
评论区
写评论https://github.com/skyzh/raytracer.rs/ 基本上实现了三本书的功能(
Hint: RTOW 原本的随机小球生成是有和大球距离判断,能避免题图中小球嵌入大玻璃球的情况,建议楼主加上,会更好看些。👍
好像做过一样的事情,但是没有像楼主一样做更多的优化:-P。Check: https://github.com/ldm0/RTOW-rs
我也写过类似的 这里
一开始是跟另一个教程写的,在master上,后来看了这个教程,加了间接光等等,简单地做了这个分支。
共勉。