This hopefully will be my long-term ray tracing software project. I will keep adding features to the ray tracer as I learn and discover ray tracing techniques.
At the moment, I see two primary goals for this project:
- Declare a public ray tracing API so external applications may include it; and
- Create an interactive application window (perhaps using ImGui) to demonstrate the ray tracing API.
CUDA-accelerated ray tracing with support for spheres and 3 materials: Lambertian, metal, and dielectric. Camera is positionable. Rendering is accelerated using a BVH.
This image was rendered at 10 samples and 5 bounces per ray, and took 37 seconds to render on an RTX 3080 Mobile.
Requirements:
- CMake version 3.5+
- GCC (will add support for other compilers in the future)
- The CUDA Toolkit
Note: Replace the CUDA include path in
CMakeLists.txt
with where<curand_kernel.h>
is on your system.
cmake -B build .
cmake --build build
The binary will be in the bin
folder.
After building the program, you can run unit tests by doing:
cd build
ctest
Or, if you want to see a more verbose output:
cd build/bin
./raydiance_test
I am setting up a development blog for this project. When it is done, it should live here.