A software rasterizer written to better understand the inner workings of the GPU and its rendering pipeline.
- .obj model loading
- Perspective-correct interpolation
- Near-plane clipping
- Blinn-Phong shading
- UV texture mapping
- Shadow mapping with PCF
- Bloom effect
| Scene | Description |
|---|---|
![]() |
Z-buffer with models at varying depth |
![]() |
Stanford bunny colored with vertex normals |
Build:
cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
cmake --build build -jRender a scene:
./build/rasterizer <bunny|depth_demo|dragons> [--frames N]Convert frames to gif:
pip install -r scripts/requirements.txt
python3 scripts/frames_to_gif.py- SIMD optimization (AVX2)


