2D Software Rasterizer

For the last few months I have been  interested in  2D rasterization and how it works under the hood

Why? Maybe no one will be interested but at Master-Micro I was working on an amazing project we called it smart schematic which was basically rendering a schematic and make it interactive in QGraphicsScene. Since that I was overwhelmed how things work under the hood. Of course I had good knowledge how things like trinagle works and transformations, rotation matrices,...etc.

This project aims to help me and potentially any readers understanding the concept. For simplicty and understanding most things this project will care only about fully software rasterization and I won't integrate with any GPUs for now

Project Goals

  • Understand and implement basic 2D rasterization techniques.
  • Draw lines, triangles, and basic shapes directly to a framebuffer.
  • Implement color interpolation and simple shading.
  • Learn optimization techniques for efficient software rendering.
  • Learn more about how primitives is drawn in screen

Blogs

Project Resources

We will update this page regularly as the project progresses, adding new features, techniques, and results. Stay tuned for the latest developments!