Software Ray Tracer / Rasterizer
C++, QT6 Software (CPU) Whitted Ray Tracer & Rasterizer
CPU ray-tracer + rasterizer entirely done in C++ and Qt6 for the interface.
Features
- Qt6 C++ Interface
- Ray tracing rendering
- Rasterization rendering
- Hybrid rendering (rasterization of the visibility + ray tracing for the shading)
- Clip-space clipping algorithm
- Hard shadows (shadow rays)
- Octree based BVH + 7 planes bounding volumes
- Rough reflexions (random ray cast around the normal)
- Normal mapping
- Diffuse texture, roughness map, ambient occlusion mapping
- Parallax occlusion mapping
- Skyspheres support
- Skyboxes support
- Super Sampling Anti Aliasing (SSAA)
- AVX2 Screen Space Ambient Occlusion (SSAO) implementation
- Hair modeling
Github
This project is open-source on Github: Software Ray Tracer & Rasterizer