Software-Rasterizer

The idea was first and foremost to learn how a GPU render-pipeline actually works under the hood. The Rasterizer is multithreaded, makes heavy use of parallelization via SSE and implements a so called "Sort-Middle-Architecture" (aka binning), which sorts processed triangles into several screen-tiles to improve caching and reduces the overall pixel processing load. Notable features include:- Point/Linear/Trillinear Texture Sampling + Mip Mapping support- Per-pixel-lighting & normal mapping- Modifiable Vertex & Pixel shader (written in C++)- A physically based shading model