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 |
- Optimizing the basic rasterizer
- Rasterization on Larrabee
- Rasterization practical implementation
- EDXRaster