Green - Day 2
2013-03-16
Today I started molding Ogre and OIS into my proposed architecture. As always the graphic and input systems are slightly interwoven. This is the way that operating system handles input, over it's windows. The only recourse would be to implement a "window" or OS abstraction system, but that is not feasible, because any OS abstraction is done in the OGRE and OIS libraries.
What I don't get with the design of OGRE and OIS how the library is packaged. OIS for example is mostly useless on it's own. You need to create a window in the OS specific way to get input abstraction; but once I created the window, the input handling is almost nothing. On the other hand OGRE creates a window in an OS independent way, but does (almost) not implement any input handling. In addition the window creation deeply integrated into the library.
This is why I like the SDL / OpenGL divide. SDL provides the OS abstraction and OpenGL the rendering facility. Yes, comparing OpenGL and Ogre is comparing apples and oranges, but this divide makes total sense. You can use OpenGL without SDL and SDL without OpenGL, this is sensible packaging.