Windows, Linux, Mac OS X
Languages Written In:
- User Reviews
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 games and demos utilising 3D hardware. 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.
- Object-Oriented Design
- Plug-in Architecture
- Save/Load System
- Simple, easy to use OO interface designed to minimise the effort required to render 3D scenes, and to be independent of 3D implementation i.e. Direct3D/OpenGL.
- Flexible plugin architecture allows engine to be extended without recompilation
- Clean, design and full documentation of all engine classes
- Support for ZIP/PK3 for archiving
- Scriptable multipass rendering
- Material LOD
- Supports the complete range of fixed function operations such as multitexture and multipass blending, texture coordinate generation and modification, independent colour and alpha operations for non-programmable hardware
- Support for multiple material techniques
- Transparent objects automatically managed
- Font system: TrueType fonts and precreated textures
- 2D GUI System with Buttons, Lists, Edit boxes, Scrollbars, etc.
- Environment Mapping
- Lens Flares
- Particle System
- Motion Blur
- Particle Systems, including easily extensible emitters and affectors (customisable through plugins). Systems can be defined in text scripts for easy tweaking
- Support for skyboxes, skyplanes and skydomes, very easy to use
- Splines Biquadric Bezier patches for curved surfaces
- Can have an unlimited number of lights in the scene
- Supported through vertex and fragment programs.
- Shadow Mapping
- Shadow Volume
- Techniques supported: modulative stencil, additive stencil, modulative projective
- Multiple stencil shadow optimisations, including vertex program extrusion, smart light and shadow caster culling, integration with mesh LOD, zpass and zfail methods, 2-sided stencilling, scissor region clipping
- Texture shadows fade out at far distance
- Projective texturing automatically links with texture unit to a Frustum instance
- can register external texture sources in order to feed texture data in from another source
- Supports PNG, JPEG, TGA, BMP and DDS image files
- High Level
- Supports vertex and fragment programs (shaders), both low-level programs written in assembler, and high-level programs written in Cg or DirectX9 HLSL, and provides automatic support for many commonly bound constant parameters
- Supports GLSL
- Mesh Loading
- Hardware-accelerated skinning
- Flexible mesh data formats accepted
- Export from many modelling tools including Milkshape3D, 3D Studio Max, Maya, Blender and Wings3D.
- Occlusion Culling
- Highly customisable, flexible scene management, not tied to any single scene type. Use predefined classes for scene organisation if they suit or plug in your own subclass to gain full control over the scene organisation
- Hierarchical scene graph
- Scene querying features
- Inverse Kinematics
- Skeletal Animation
- Animation Blending Skeletal animation, including blending of multiple animations, variable bone weight skinning.
- Basic Physics
- Collision Detection
- Rigid Body
- Controllers allow you to easily organise derived values between objects
- Includes bindings for multiple 3rd party collision / physics systems (ODE, Novodex and Tokamak)
- Scripted material language allows you to maintain material assets outside of your code
- Scriptable multipass rendering
|License Name||Price in $US||Source Code Included?||Additional information|
|OGRE Unlimited License - An undisclosed fee is required, and the licensee continues having access to the source. This would be for people and businesses who would like to be able to modify the OGRE source but without having to make those modifications openly available|
This is a "number one must" recommendation for any seasoned C++ programmer who needs a powerful rendering engine flexible enough to allow you to define your own rules without forcing you to support any unnecessary overhead, such as physics, networking, or sound. For a pure rendering engine, Ogre is unmatched by anyone period!
OGRE certainly is one of the most promising open source engines out there and also probably the engine that collects most of the praises these days. this holds true especially after it got rather quite around crytalspace. the code is very easy to understand and therefore OGRE would be my first recommendation for learning a thing or two about engine design if it wasn't for the NEBULA device
Just the best rendering engine ever
This engine has grown quickly in a really small amount of time. It's just a rendering engine, but I've found it more useful than many other engines out there.
About it's features, it has a extensive list of features supported, many of them related to the latest technologies.
Usage: Amazing. I didn't have to burn my brain to include this engine in my programs, and the script files are really helpful too, allowing to customize overlays, materials and many other parts with just a text editor :)
About the stability, it's the best designed engine I've ever seen. It has no comparation even with commercial engines. This is a proffessional work that assures a high stability and the best performance
Regarding to the support, OGRE has an unparalled community supporting it. It's not official support, but the help of almost 2000 (registered) users is better than any tech support team ;)
Summarising, this engine is priceless, and that's exactly one of its best features -- it's free!
+ Great Graphics
+ Clean Code
+ Easy to work with
+ Love the material formats (very very easy ;))
+ Greatly separates the coders from the artists in terms of content and such.
- Some Quirks
-/+ Its just a graphics engine
All in all, an amazing engine. There are some quirks in the way things are done, but other than that, its awesome!
Very good graphic rendering engine
The main point you have to understand with Ogre is that it's a *graphic rendering* engine, NOT a game engine. So to make a game from Ogre, you may have more work to do than just using a true game engine (though, the community is very strong and is working on frameworks to be used with Ogre - physic / sound engine, etc). But as a rendering engine, Ogre is really good, it may compare to commercial one, and even be better ! It's well written, have good documentation and very good support. It has all the top rendering features you can think ok (like vertex/pixel shaders, shadow support, ...). It's not currently very easy to use for the beginner because there's no binaries yet and you have to compile the project yourself, but that something which will be addressed for the V1.0 due before the end of the year.
So, if you look for a graphic rendering engine, don't go farther and get Ogre.
Ogre is amazing
I've been using Ogre for a year or so now, and I'm very impressed. It has an active development community, all the features I need, and it's completely free and open-source. The forums are a great source of information and tech support.
If you haven't checked it out yet, I strongly recommend it. You have nothing to lose by looking into it, unlike most of the other engines on the list that require you to shell out big bucks.
Great renderer, and a few notes
First of all, I would like to say that the OGRE engine is great! Second, OGRE is actually not an 'engine' in itself, but rather it is a graphics rendering engine, although the demos and samples included do include some physics integration, scripting, etc.
The OGRE engine is basically at the very top of the feature spectrum. The material/overlay/etc. scripts are intuitive and powerful, and prevents hardcoding in game assets. The code is very understandable, but building OGRE into your engine is harder than building your engine around OGRE. The engine's performance and stability is also very good. Also the community is very helpful, and the tutorials and API documentation is usually enough to keep you away from trouble for a long while.
Overall, this is one of the best choices for a renderer out there today!
Ogre, Ogre, Ogre... So many people are using it, so many people are speaking about it, so many people are getting involved. But do they really know what they are getting into? Don't let your eyes be cheated by all those positive reviews, sit down, relax, and be prepared to hear the real story.
First of all, not everybody knows that Ogre is a cult. Seriously, think about it - people, who join it simply can't ever get back to normal life. They spend night after night staring at myriad lines of code with their red eyes, consuming caffeine - gallon after gallon, and there is no end to it. Be warned, you don't want this to happen to you!
Now, one might wonder, what are all those people so much attracted too, like errr... Well, let's have a look.
OGRE - Object-orientated Graphics Rendering Engine (or Open-source Graphics Rendering Engine). Wow, look at that, it's not even a proper GAME Engine! I mean, seriously, who cares that it does its job as a rendering middleware perfectly and provides you with the full source code, so that you are totally unrestricted? Nah, that's nothing, considering that it ain't a GAME engine. And what are all those game engines, which are based on Ogre? Oh, that's a myth, I tell you, they don't exist!
Now let's have a look a OGRE's overall structure. Surely, the API is very... what's the word... ah, clear... and easy to understand. Moreover, it is possible for one person to actually understand more or less the entire engine's internals. But, come on, who needs that? A truly production-ready engine should aim to have an API, which requires several years to study. Who needs this well-written code style, when real engines have a code, which needs an entire gang of programmers to decode.
DirectX, OpenGL... Did you think OGRE supports them? No! Not really... Kinda no... Well, actually, OGRE does not support them, because it doesn't care which rendering system will be used, and you don't even need to change a single line of your code for that... But who needs that, anyway? Come on, a real engine would only support a single rendered, and would require entire rewrite to support an alternative one. That's power, I tell you!
Vertex & pixel lighting, stencil & texture shadows, decals, soft shadows, SSAO, material/mesh LOD, shader support, customizable post-effects, particle effects, anti-aliased RTTs, you_name_it... all those fancy words are written on the OGRE's website, and apparently the engine supports them. But, seriously, who needs all that? After all, what is especially bad about OGRE is that it can actually be used to create AAA titles. Surely, we don't need that!
Now, what else? Oh, the GUI. Can you believe it, OGRE doesn't even have a GUI! (ignore those so-called overlays, they are useless). And what kind of an engine would actually make you choose an external tailor-made GUI library? Just think about it - there's a dozen GUI libraries made for OGRE, fully maintained, mostly free... We don't need it! A true engine must have one (1) GUI library built into it, preferably a slightly buggy one, so that it can be patched sometime later. After all, who wants to waste time choosing amongst all those GUIs? And guess what, they have more libraries out there! They have physics wrappers, editors, dozens of importers/exporters, day/night lighting managers, realistic sky & water managers... What a waste of time even looking at those, not to mention actually using them!
Ahh, almost forgot - the community and support. Never ever have I seen anything like that before. You know what? They actually respond to nearly every single question asked, they actually waste their time reading and implementing feature requests!! That's nonsense! Serious developers don't do that, even if they are paid several thousands $$$.
So, hopefully now you see, what OGRE really is - purely a Rendering Engine, which require YOU to stick it to a framework, strap on a GUI, Physics/Network/Sound. Who cares about the great community support? Who cares about all the 3rd party libraries written for OGRE? Who cares about the free LGPL license? What truly matters is that there is NO way an experienced programmer with a huge experience playing games can make a great MMO using OGRE in one week.
P.S. if after reading all above you are still not convinced, that Ogre is NOT what you are looking for - remember, I warned you, once you'll start with Ogre, you won't get out. Just like me, I've been with Ogre for many years now, and despite constantly seeing other engines, Ogre just wouldn't let go =) Seeing how all those lines of seemingly meaningless code actually turn out to be living 3D worlds is an incredible feeling. But beware, that might change your life forever!