Panda3D : free Open Source game engine

The Open Source Panda3D game engine can be used to create C++ and Python games. The latest version has support to generate a webplayer and some advanced shader techniques (shadows, Screen Space Ambient Occlusion and geometry shaders).

Disney uses this engine for the Pirates of the Caribbean web games, so I guess that it has more then enough features if you push it hard enough.