A C++ 3D Game Programming Framework for DirectX