For a short while now I have been working on porting over most (if not all quite yet) of the functionality of the tutorial HMEngine to a DirectX 11 and C++ version of things that I have been calling “Haze”. Recently, quite a few changes have been occurring that greatly affected how I have been going about this and I have once again wiped the project slate clean and started it up again using the new functionality available in Windows 8 and Visual Studio 2012.
One of the major changes I have made to things now that the base engine is in place and working is changing the static ComponentManager class that used to handle all of the Initialization, Loading, Updating, and Rendering of objects. It has now been transformed into a Scene class and a Scene Manager. Using the new setup, I can put together completely independent groups of items, effects, and cameras (one per scene for now) and load and unload any scene at will.
Using the new XAML UI integration in the Windows 8 version of a Direct3D application, I have hooked up the Scene Mananager to a set of buttons and can swap between them with a simple click. Here is a quick screen shot of what I am talking about (albeit with a VERY simple scene):