无偏路径追踪算法,基于smallpt结构,支持球体和三角网格模型,支持光线反射、折射,支持Diffuse、Specular、Glass、Glossy四种材质。
编译:
g++ -o main main.cpp vec.cpp material.cpp object.cpp ray.cpp tracer.cpp -Wall -O3 -fopenmp运行:
./main 10000 1参数分别为spp和scene_id范围为0-2
Cornellbox和smallpt球体模型。object.cpp文件在读入空间点的下标从0开始,因此修改了.obj文件中的空间点下标,若需要生成正常.obj文件需要重新修改下标。
smallpt 球体模型
CornellBox 模型

