The software rasteriser space scene perspective view labelled

  Posted Sunday, February 4th, 2018 • University Coursework

A software rasteriser from scratch

“Houston! A fleet of unidentified primitive objects is destroying our space station!”

I created a software rasteriser from scratch in C++, demonstrated through a space-themed scene. I wrote the logic for all necessary aspects of the rendering pipeline, taking primitives from the camera matrix transformations between local-world-camera space to the z-buffer and finally blitting them to a window.

The software rasteriser space scene perspective view labelled

The project demonstrates:

  1. A star-field consisting of point primitives
  2. Asteroids consisting of line primitives (loops)
  3. A background gradient plane consisting of triangle primitives
  4. Spaceships consisting of triangle strip primitives
  5. Planets/moons consisting of triangle fan primitives (circles)
  6. Mesh constructed from file
  7. Interpolated colour across a line
  8. Interpolated colour across a triangle
  9. Semi-transparency
  10. Textured primitives
  11. Movement of scene elements
  12. Independent three-dimensional rotation of scene elements

I gained experience applying fundamental graphics programming theory, and memory-management in C++.

The software rasteriser filtering compared

Nearest neighbour vs bilinear filtering