What I planned in the spec is now complete and ready for release. The GLSL shaders now work at version level 120 (compatible with OpenGL 2.2) in order to support older graphics cards.
What has been the point of the project?
- Am familiarised with 3D APIs and shaders.
- Have explored and incorporated third-party libraries.
- Learn and apply knowledge of mathematics and algorithms for a technical animation framework and basic game engine.
- Handle debugging using exception handling and gdb.
- Designed an object-oriented framework model.
- Used C++ standard library tools (smart pointers to automatically refcount resource objects, lambda functions and their relation to STL algorithms, vectors, lists, maps, iterators).
- Explored C++ design patterns (abstract classes used as interfaces, compositing and inheritance patterns).
- Have worked with the distributed version control system Git for revisions and distribution.
Of course there are many features I still want to explore, and the CharSim framework provides a good base for these things: Bounding Volume Hierarchies, CUDA, shadows, FBOs, SceneGraph light & camera support, to name a few.
- IK-based armature movement stops working if the cursor exits the screen for too long.
- At lower framerates, eye and other animations flicker. Likely an oversight in ClipRunner's timing logic.
- Doesn't run on Windows due to the use of JSON-C. Will switch to RapidJSON.