This is the framework for a 3d game engine