To truly understand graphics, you need to write a software renderer.
This project is a custom software renderer developed from scratch in C/C++. The goal was to explore how a 2D/3D graphics pipeline works internally by implementing the rendering process directly on the CPU, without relying on a GPU graphics API.
The renderer focuses on low-level graphics programming and performance optimization, including triangle rasterization, texture mapping, depth buffering, lighting, SIMD-based optimizations and multithreaded rendering.
The renderer also served as a platform for experimenting with custom rasterization techniques and performance-oriented rendering algorithms.
Investigate how SIMD can improve performance
Read the Article →How fast pixels can be renderer at low level.
Read the Article →How to approach the implementation of a basic voxel based rendering.
Read the Article →Development and evaluation of a custom triangle traversal algorithm for efficient software rasterization.
Read the Article →Making a very effective, multi-threaded CPU based 2D renderer
Read the Article →How to approach and design a modern software renderer.
Read the Article →