Unity3D uses C#, Unity Script (based on Java) or Boo Script. You've got a choice. It is a fantastic toolset. Personally I love C#, if you've used classes in C++ it should be really easy to jump into C#, it doesn't work exactly like C++ when dealing with classes, but it's close enough.
Ogre and Irrlicht as said, which is free.
There's Native AppGameKit, it's not 3D yet, but the features will come, I'm not sure how well suited it will be to your needs.
To add:
NeoAxis (based off of Ogre)
Torque Game Engine (I have an old version of this, you get full access to the source code to make modifications in C++ where you deem fit I do not know if this is the case with newer version. It also uses a C-style script.)