Skip to content

Latest commit

 

History

History
17 lines (13 loc) · 1.14 KB

README.md

File metadata and controls

17 lines (13 loc) · 1.14 KB

Rasterizer

Fully multithreaded C++ CPU rasterizer

Using libraries:

Very basic WIP rasterizer. The goal of this project is to learn high performance multithreading and SIMD practises. The current version can rasterize the 870.000 triangles stanford dragon in a 1024x1024 window at 20 +-1 miliseconds per frame on a Ryzen 1700X.

It works by launching a parallel for on the triangle array, wich runs a "vertex shader" to update the matrices. This also bins the triangles into screenspace tiles. After that, another parallel for is launched, on the tiles, to perform thread safe tile based rasterization without data races.

This project is a work in progress, and should not be used as an example of anything due to its extremelly experimental stage and low code quality.