基于CPU的光线追踪渲染器

基于CPU的简易光追渲染器

时间:2024年7月-至今

项目简介

本项目参考光追三部曲编写,使用 C++ 实现,旨在通过路径追踪技术生成逼真的图像。渲染器能够处理光的反射、折射、抗锯齿、运动模糊等复杂效果,并用多线程技术提升运行效率,最终输出PPM格式的图片。

项目特点

  • 多线程:利用线程池对每个像素进行并行运算。
  • BVH:使用BVH结构加速光线求交运算,提升程序运行效率。
  • 渲染物体:支持渲染球体、由三角形组成的模型和四边形等2D图元;实现.obj模型的读取;简单平移,旋转变换。
  • 物体材质:支持渲染漫反射材质,金属材质,介质材质,柏林噪声材质,自定义纹理材质,自发光材质(光源),恒定密度的参与介质。
  • 视觉效果:支持抗锯齿,散焦模糊和球体运动模糊。

图片展示

三部曲第二部
康奈尔盒子
渲染自定义模型
三部曲第一部

项目链接

参考资料

  • Ray Tracing in One Weekend Series
  • 从0开始的光追渲染器 bilibili