In my spare time, I'm currently creating a cross-platform, high performance, procedural, voxel-based rendering engine using C++11 and OpenGL. I broke the build yesterday trying to implement an entity system, but will update with actual in-engine pics as soon as I can.
The mutex ensures one instance of the application. The Engine manager, as with most other managers, inherits from a base class that has a templated function that servers to create one (read: singleton) handle to the manager. The value of TheEngine is set to the address of the managerObject, which is the actual Engine object. I’m hoping to make a blog post on this sometime in the future. It’s an elegant solution.
This isn’t really anything to write home about yet since I haven’t implemented an entity system yet, or a scene manager for that matter, but it’s a big part of what makes what I have thus far possible. Again, actual pics later.