CPU implementation of a very efficient rasterizer which utilizes AVX2 instructions and lock-free multi-threading programming. Using tiled rendering the program consumes 8 pixels at the same time, which together with std::execution threading library makes it very fast and robust. The viewer of the project is a very simple OpenGL applicatoin which renders a texture to a quad. The texture is generated by the CPU Renderer.h class. The pipeline contains most of the modern GPU rasterizers stages.

Software Rasterizer

Software Rasterizer

Wojciech Zielonka
Technical University of Munich

CPU implementation of a very efficient rasterizer which utilizes AVX2 instructions and lock-free multi-threading programming. Using tiled rendering the program consumes 8 pixels at the same time, which together with std::execution threading library makes it very fast and robust. The viewer of the project is a very simple OpenGL applicatoin which renders a texture to a quad. The texture is generated by the CPU Renderer.h class. The pipeline contains most of the modern GPU rasterizers stages.

Scene Triangles Shader Filter FPS
Bedroom 1,491,750 Phong Nearest 10.1
Panther 2,004,842 Phong Nearest 6.3
  1. Optimizing the basic rasterizer
  2. Rasterization on Larrabee
  3. Rasterization practical implementation
  4. EDXRaster

OSZAR »