I'll grind your bones to make my graphics engine...

Ogre is an acronym which stands for "Object-Oriented Graphics Rendering Engine." It is a 3D graphics engine; or, to put it lightly, it allows programmers and developers to run their software through this engine, and have it churn out dazzling eye candy. Here, the people at Ogre 3D can put it in better words than I can:

 "OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce applications utilising hardware-accelerated 3D graphics. The class library abstracts all the details of using the underlying system libraries like Direct3D and OpenGL and provides an interface based on world objects and other intuitive classes.

The main thing about OGRE is that it is NOT a game engine. Yes, it can be used to create 3D visual images, but for all other aspects of games (such as AI, networking, physics, sound, etc.), OGRE must be combined with other class libraries. It's kind of an awkward thing to understand: Yes, OGRE can make games, but it cannot make games all by itself. It still requires the skill, time, and knowledge of the programmer. It's like asking if blueprints can create a breadbox or cabinet. Yes, they are needed to do it, but it still requires the right tools provided by the worker.

ogre1
This photo demonstrates the Skeletal Animation qualities of the OGRE engine. Notice the detail on each model, and the different animation sequences each model is in. They all appear to be in different animation sequences (although all of them look rather creepy.) This demo ran at a solid fps of about 45, and looked rather impressive when all the models were in motion.

ogre2
This SS is from OGRE's Physics demo. As you can see, the demo takes place from a first-person camera angle, and I am trapped in a room with a stack of blocks and the ability to throw rubber balls...I'll let your imagination figure out what you're supposed to do with those.


Feeling Ogrish, anyone?

In keeping with the tradition of the other application/language pages, I will try writing a series of lessons or tutorials for the beginner, as I know how frusterating being a beginner at something that everyone else is good at can be. I have nothing right now, as I am still learning the stuff myself; but expect the first installment sometime soon!

Here are the places that I am learning how to program with OGRE. Their tutorials can be a little confusing, as the Wiki's seem to be a little out of date or something...there's alot of information there that is simply old. But still, if you can follow a lead beyond EVERY SINGLE EXPLICIT INSTRUCTION, you could probably get things going. I strongly recommend using the OGRE appWizard, as it will make setting an application SO much easier for you in the long run. (Note: when I'm through with the tutorials here and find some other good newbie sites for OGRE, I will post them up...but until then, the basic starting points are usually the best...Good Luck!):

OGRE 3D Home: The home page of the OGRE 3D site. Download the SDK here, as well as read the manual and the API documentation. Also showcases the features of OGRE (if you understand it), and a forum to talk to the real OGRE gurus.

OGRE Wiki: A wikipedia style section for people learning OGRE, but not quite sure how to harness the powerful SDK tools (let alone get the demos to play). I would recommend the absolute beginner start here, as they have tutorials from just getting the OGRE SDK installed and starting up an application (this alone took me a day and a half, so don't feel bad if you don't get it in under an hour), to placing your first entity and SceneNode, to advanced AI, physics, lighting, sound, networking, etc. to turn your game from an idea to a physical project. On another note, I personally think Wiki's are the best resources around, as they are written not from a programmer or developer's point of view, but from real people who have common questions and problems such as your own; oftentimes, programmer's overlook the common pitfalls of their software's users - what may be obvious and easy for them can turn into a headache for the consumer's. START HERE!