If you want C++ and your just starting out I'd go with Irrlicht (its free, and its code although not blazing fast like Ogre, its very well structured and a good example of what a C++ should look like). But if you're ready for some hardcore work Ogre would be better (although its source can be much more enigmatic and hard for a new comer).