Matthew AuYeung Graphics Engine (MAGE)

MAGE is a 3D graphics engine that is made with C++ and DirectX 11. The main functionality of the engine surrounds 3 separated libraries that handle math, physics and graphics.

The math library is

Math

The math library is implemented with support for linear algebra and 3D geometry so it contains classes that handle vectors, matrix, quaternion, and ABB and OBB collision related math.

The physics library

Physics

The physics library mainly simulate particles, particle and constraint class are implemented for particle physics simulations.

The graphics library

Graphics

The graphics library is in charge for handling multiple functionalities for graphics rendering. It includes basic functionalities that support camera, colors, light, and debug draws. It also has custom wrapper classes for handling D3D classes including pixel and vertex shader, constant buffer, blender, and sampler.

The graphics library

Animations

The graphics library also implemented a 3rd party sdk for model loading so the user can load different fbx model into the engine. At last the graphic library has Animation support, the user can either make animations using the animation builder class by inserting keyframes or import fbx models that has animation blended into it.

The math library is
The physics library
The graphics library
The graphics library