Urho3D (https://urho3d.github.io/) is a free lightweight, cross-platform 2D and 3D game engine implemented in C++ and released under the MIT license. It utilizes either Direct3D9 or OpenGL for rendering (Shader Model 2 or OpenGL 2.0 required as minimum.)
For getting started, see:
For further reference, see:
Object types and factories
Engine initialization and main loop
Custom file formats
Scripting API (generated)
Lua scripting API (generated)
Event list (generated)
Attribute list (generated)
For Urho3D related links and projects, see External links.
For release history and major changes, see History.
Also see Porting notes for necessary changes when moving to a newer Urho3D version.