Raytracing engine in 3D.
- Physics simulation
- Audio simulation (for reverb)
- OpenCL port for GPU accel
- Rasterizer preview/quick render
This is still very much WIP
This image (512x512) was rendered at x4 multisampling with 8 bounces. It uses the
suzanne model from blender, and sphere and plane primitives.
This took 90 seconds to render, and this was without using any optimizations on computing mesh intersections (without the mesh it rendered in around 1 second)
This uses CMake and requires ZERO outside libraries, so:
To test it, run
./src/ex and then view
Good general explanation: https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-ray-tracing/how-does-it-work
Explanation on lighting/shading: https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-shading/reflection-refraction-fresnel