Rasterizer

The drawing pipeline from zero



Description

The goal of this project was to learn how graphic apis such as OpenGL worked under the hood.
The whole drawing pipeline has been remade on the GPU.
All pixels are drawn in a 2D buffer, that is sent to SDL for display to the screen only.

Tools

  • C++
  • SDL (but only to render pixels from an array)

Members

Programmers:

  • Thomas Dallard
  • Tristan Francillonne

My work

Rendering:

  • Forward Rendering
  • Wireframe mode
  • Perspective & orthogonal projections
  • Vertex color interpolations
  • Z buffer
  • Phong
  • Blinn Phong
  • Customizable lights (ambient, diffuse, specular)
  • Texturing with bilinear filtering or nearest-neighbor interpolation
  • Back face culling
  • Alpha Blending (transparency)
  • Anti Aliasing (supersampling / multisampling)

Other:

  • Custom OBJ loader
  • Cube & Sphere meshes generations

Other:

  • Community Management