pt: 一款 Golang 路径追踪器
这是一个仅使用 CPU、单向 路径追踪 引擎,使用 Go 编写。它具有许多功能和简单的 API。
特性
- 支持 OBJ 和 STL
- 支持纹理、凹凸贴图和法线贴图
- 支持带有标记的距离场的光线追踪
- 支持从图像切片进行体积渲染
- 支持各种材料属性
- 支持可配置的景深
- 支持迭代渲染
- 支持自适应采样和萤火虫降噪
- 使用 k-d 树来加速光线交点测试
- 并行使用所有 CPU 核心
- 100% 纯 Go,除了标准库之外没有其他依赖
安装
示例 有很多示例 可供学习! 要尝试它们,只需运行如下命令:
有几种采样选项可以减少到可接受噪声水平所需的时间。下面两张图片均在 60 秒内渲染完成。左图未启用任何高级功能。右图使用了下面列出的功能。以下是实现此改进的几种选项:
- 分层采样 - 在第一个交点处,以分层模式生成 NxN 条光线,以确保均匀分布的覆盖