January 2024 - May 2024

In this project, I:

  • Implemented a 2D graphics engine, complete with Polygons, Shaders, Bezier Curves, Affine Transforms, and Meshes, in C++.
  • Designed and implemented algorithms with a focus on performance, utilizing techniques such as forward difference, templating, and cache-friendliness.
  • Used developer tools for testing and profiling, such as GDB, Valgrind, and KCacheGrind.

This project, completed as a part of Compsci 345 - Computer Graphics Architecture, is the result of a semester’s worth of development. We were asked to maintain this project by adding more features to our engines each week whilst maintaining robust project structure. Throughout this project I learned much about the foundations of computer graphics and code optimization.

Here are a few demonstrations of the capabilities of this project.

Meshing

Stroking

Shaders (generating voronoi cells)

Affine Transformations

Updated: