C++, C#, C++/CLI, OpenGL
This project has been superseded by my new Vulkan Engine.
GLDrawer is a simple, OpenGL-based graphics library with a C# API for students. I worked with NAIT to replace their graphics library used for teaching as GLDrawer is more optimized, feature-rich, and comes with more comprehensive documentation.


I built GLDrawer from the ground up. I learned to create a variety of GLSL shaders which perform tasks such as drawing primitives, rendering text, and calculating matrix transformations. I wrote GLDrawer in C++ for performance, but since most of NAIT’s CNT programming classes are written in C#, I learned to use C++/CLI to wrap my code into a C# interface.
GLDrawer can render simple shapes, textures, and animated particle systems. There is an Entity system that supports hierarchical transformations of objects as well as some simple game engine features including input handling, asset management, and physics using Box2D.