C++ Animation Engine

MASTER'S WORK

My biggest project while getting my master’s was building a 3D game/animation engine from scratch in C++.

The objective is to create a lean, fast engine that uses libraries built by myself. This means not using STL containers, except for some offline tools to generate the animation data.

While I was working on this project I wrote some blogs about a few of the concepts.

 

Features

  • Full memory system tracking allocations and deletions in a custom heap using a landgrab of Win32 memory

  • Parent-Child-Sibling tree hierarchy and iterator

  • Robust, custom Math library and functions: Vectors, Matrices, Quaternions, SLERP, LERP, and more

  • File system wrapper over the STL system to add better error reporting and file handling

  • Update and Draw loop logic containing various objects for models, textures, shaders, cameras, and more

  • Offline converter using the FBX SDK to convert complex models into readable data for our engine

  • Selective keyframe drop compression using a variable delta

  • Full 3D model viewer with interactive camera

  • Model skinning

  • Animation engine including key frames, blending, controllers

  • Multiple shader pipeline

  • Animation, skinning, and blending on the GPU

Previous
Previous

C++ UI Framework

Next
Next

C# Design Patterns