Assets 2


This is a "mid cycle" release that should steer the development toward what should be Annwvyn 0.4

This release include : New rendering through Ogre and PBR, new build system. New testing system, repackaged resources and dependencies.

There are some graphics problems that need to be addressed. .There's also functionality of the touch controllers that aren't actually used (hand "finger pose" tracking")

I'm going to do a little roadmap and to update the blog with that information, instead of here.


  • BtOgre debug drawer bug corrected
  • old todolist removed (usage of //TODO comments and GitHub issues made it useless)
  • updated to work with the lattest version of Ogre v2.1
  • switched to use BtOgre21, my personal fork of BtOgre for Ogre 2.1 and up
  • Switched build system to CMake
  • Externalized tinyxml2's code. Link statically to it
  • Replaced the old "by hand" trigger volume with Bullet for checking collisions.
  • Reorganized some of the resources to make them easier to manage.
    • ChaiScript code and audio files are loaded via Ogre's resource manager and are fetched from Ogre's resource pool. This makes all resources of the engine be coherent between Ogre ResourceGroup system and direct file access.
  • Input processing code has been refactored in the EventManager. It's now easier to manage instead of being one giant method
  • Small corrections on the Doxygen side
  • Cleaned up the code of the Audio engine. The initialization code is less convoluted, and better logging.
  • Removed unessecary verbosity from the 3D text plane constructors
  • Removed a directive that was hiding type convertion warning. Took care of them
  • Added "contributing" and "code of conduct" files
  • Limit the use of manual new/delete in the code
  • fix a crash related to the cleanup of the FontManager if the engine was killed then restarted by the same process (e.g. unit tests)
  • Removed code that was making the engine log in "black on black" inside the Windows's console (WIN32 API)
  • The old "test" project is now a "samples" project. This is more fitting with it's location inside the repository (/example)
  • Added a testing framework (C++ Catch) and started automate tests. Bugs where corrected. There's probably a lot more bugs that will be squashed in the near future thanks to automated testing. Right now a really small part of the engine is actually tested.
  • Pushed compatibility with Oculus LibOVR 1.17