A software rasterizer written from scratch in C#. Since software rasterizers have limited use in real products, I have emphasised code clarity over performance, with a view to writing some tutorials about rolling your own rasterizer. Again, I don’t expect anybody will really use their own rasterizer, but personally I find it very useful to know what’s going on under the hood.

The API is closely modelled on Direct3D 10 and 11, and is split into several pipeline stages: input assembler, vertex shader, geometry shader, rasteriser, pixel shader and output merger.

Rasterizr uses SlimShader to parse and execute HLSL shaders entirely on the CPU, in managed code.

Rasterizr screenshot 1 Rasterizr screenshot 2