Goatherd0072 / RaytracingPractise

A ray-tracing practise from Ray Tracing in One Weekend, using C++ with OpenMP.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RaytracingPractise

一个根据 book: Ray Tracing in One Weekend 的小练习 image文件夹是过程中生成的一些图片,最终生成的图片如下 final image

使用

将ppm文件转为png格式需要用到imagemagick

(Windows)编译项目后,在PowerShell中运行build文件夹下的 Image_Generater.ps1文件

./Image_Generater.ps1

即在当前目录可生成图片

加速

  • 多线程

    用了OpenMP来进行多线程加速。由于Visual Studio的默认的MVSC环境不支持OpenMP 3.0以上的版本。所以在Windows系统需要用跨平台的编译器(例如该项目使用的是Clang)

  • cuda

    因为代码默认执行用的单核CPU,导致生成速度巨慢,可以使用CUDA加速生成,参考了Roger Allen在NVIDIA的这篇博客

About

A ray-tracing practise from Ray Tracing in One Weekend, using C++ with OpenMP.


Languages

Language:C++ 88.8%Language:CMake 7.4%Language:C 2.4%Language:PowerShell 1.4%