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|
Selling your soul.
Feature-wise, this holds pretty much the first place, and the only reason I didn't give it full 5 stars on that department was because I find its resource system, while powerful, quite annoying. Writing your own loaders is pretty straightforward, but time-consuming.
In the ease of use-department I found the code to be clear, but it is restrictive and it feels like the engine is actively trying to fight you instead of being a help in designing. Most of the time I felt like doing "kill 10 hobgoblin" quests when I was trying to get Ogre to do what I want. And this is what turned me away from it. Using the engine feels like you are doing grind quests. If you have more patience than I do, maybe this really could be the engine for you.
Support is good, though it is mostly through forums. Some of the posts are outdated but you can quickly find solutions to your problems by a simple Google search.
Nothing to complain about in Stability & Performance fields. Felt fast, felt stable. Have to admit that I just used it in small demo-style programs in the end though.
Powerful Engine... but you sacrifice too much
I had quite a fight with myself in choosing between Ogre and Irrlicht to start making games. I have tried both engines and made simple tests of performance for my particular needs and both were very successful. I began to be more inclined to Ogre because of the more graphical performance you can attain with little effort compared to Irrlicht. so I gave it a try.
as I progressed, the amusement I had with Ogre became an annoying fight to fully understand how to do things right. There are different approaches that work well, so it's easy to "slip up" and turn your "good" code into "bad" code, when you are scaling up from a single test to a full game. you will find many bottlenecks, wrong behavior and weird phenomenons as you progress. So you have to ask more experienced people for advice frequently. I have experience in c++, but this engine requires more of what I'm capable at the moment.
I switched back to Irrlicht and I'm working on a full game with little issues.
I might switch back to Ogre when 1) I am a c++ Legend or 2) I have a team of programmers. Maybe I will go to PyOgre... but I'm still unsure
No GUI == No Big Deal?
After quite some time I was able to compile CEGUI which is why I change my review here. Once a GUI is available, the problems shift from having an incomplete engine to fighting Ogre.
CEGUI itself is not bad. Once you get it compiled it is very useful and easy to access. The problem is of course that CEGUI must be adjusted by it's creator whenever a new Ogre release breaks the compilation. So far it seems that the creator of CEGUI is committed and active, but you never know what happens in the future. Therefore still my verdict: A GUI is a must for any renderengine. Having to rely on a third party application just isn't good enough.
Now, after solving that problem, I decided that I should try to compile Ogre myself in order to enable multithreading which isn't enabled by default. Let's just say, resolving all the myriads of third party dependencies, mixed up with my old precompiled Ogre installation was a nightmare of several days. I remember root canal treatments without anesthesia that I enjoyed more than this ordeal.
Now, once you get Ogre going, it is not bad really. The problem is, as with all Open Source Software, that the documentation is most written in this style:
* Increases X Gradient
void increaseXGradient( void );
you get my drift.... Also, Ogre consists of 100s of classes but most of these classes are commented in the above fashion or not at all so you have no idea if and how you could use them so you end up not using them at all.
The community is less than helpful. Most posts by newbies like myself are answered in the "read the code!" fashion, when you have the tough luck of getting on the bad side of their Forum Nazi you can actually expect some sarcastic remarks as well. I found the same lack of answers in posts by other users who actually asked what I was about to ask in the past and didn't get a meaningful answer either.
So for me it is Ogre because I need to get a project going and other Open source engines either lack some features or are just the same as Ogre so I stick with it. In case of problems I search the forum or google for help outside of the forum but I gave up asking questions myself. All questions I asked were either not answered, not answered helpfully or answered by me after I found the solution and I thought I leave a hint there for the poor bastard who comes after me and has the same kind of problem.
Ogre could be good if:
1) They have their own GUI, better yet, adopt CEGUI as integral part of the system
2) Skip one major release and use the time to write a useful documentation. That would take Ogre by far more towards being a mature engine that can compete with a commercial engine than hundreds of little feature addons.
Oh and speaking of which: The IK solver that is listed in the feature list above does not exist in Ogre. Somebody should correct this mistake, because that was what drew me to Ogre in the first place and I ended up having to write my own.
Know your goal before you commit to OGRE
OGRE is probably the best-balanced of all open-source rendering libraries. One should be able to get started with it fairly quickly and easily, and it offers a lot of features.
However, its performance is rather limited due to slow scene queries and large amount of redundant rendering API calls. It is also happy to throw exceptions for easy error cases, and crash for harder cases (such as malformed asset data.)
If you are creating a simple, traditional game where all assets are loaded from disk and you will not have a complex scene with many draw calls OGRE will probably be perfectly adequate.
However let's say you want to create huge worlds where 3D asset data is loaded from the network on the fly. Perhaps not so anymore.
OGRE has a heavy fixed-function legacy, so performing modern shader-based rendering with it is not as intuitive as it should be. Techniques such as deferred rendering are possible, but require using the library in unusual ways. Fixed-function rendering in OGRE actually has better performance than shader-based, because it is always setting the whole fixed function state for each draw call, even if you use shaders.
OGRE's downsides are insidious because they may not be immediately apparent: by the time you know enough of the system to also recognize where it's lacking, you may already be too deeply invested to, for example, replace it with another renderer. I would recommend prospective users to immediately stress-test the library with an amount of content that is much greater than what you actually expect to use in reality, and see if the performance scaling is acceptable for you.
Unfortunately there also is no current open-source alternative which would be as easy to use and as feature-rich, but without the downsides and with better performance.
I have used most of the different engines available out there, including the Torque Engine, the Torque Engine Advanced, the Irrlicht Engine, the Crystal Space Engine, and the Panda3D Engine, and I can say without any doubt that OGRE is the best of them all.
It is not a Game Engine per se, but rather a rendering engine. There exist a number of different components that are necessary to plug into the OGRE rendering engine in order to have a functioning game.
However, it is not an easy engine to use, you HAVE to have fair level of expertise with C++ in order to be able to use the engine.
If you are an experienced C++ programmer this is by far the best engine to use. Just go to the gallery on the ogre3d.org website and see what is possible with this amazing API.
Really Good Open source Engine
It is really awesome engine for free of cost , i tried some engines , compare to those engines it is good and cool graphics engine, easy to use , and mapping with textures
creating game environment very easy , unfortunately it doesn't have editor , but we can use the some tools like
3dsMax,and some other tools for editing purpose
forum support is good , lots of examples are helpful for creating High level shaders. who wants to create the game for first time using engine , i am recommending this engine
Not easier that D3D itself
I gave this engine one star on ease of use, that is not because it is "near impossible" to use - but because it's programming model and API is not easier than D3D itself. We all heard that D3D programming model is terrible, and of course it is complex and hard to use. I am rather experienced D3D programmer and as soon as I viewed tutorials, I saw that this engine makes things even harder. Programming model of ORGE is simply abominable; and it takes even more lines to create simple "hello world" application in ORGE, than in D3D. It is not a middleware - it is veeeery low level engine. So what's the point learning whole new very complicated and badly realized API? Scenegraph? Other minor features? - all those may be easily realised straight in D3D. 3d engine is supposed to make things easier, but ORGE does not. I can point many examples, that require 1 line of code in D3D and several in ORGE.
Nowadays, many other free engines exist that are much easier to use and learn.
So I simply do not see why use this engine at all. The only reason may be - if someone wants to port gamo to several different platforms. But, even then still better choices exist.
P.S. In addition - it simply has not even 3ds max exporter. wow!
Great, flexible, easy to use 3D engine
I've used OGRE 3D in several projects now in the last 2 years, both at school and for work. It is extremely fast, easy to develop, well documented, well supported by the community, etc.
It's simply the best there is if you take into account all free and low-cost 3D engines, and I've looked and tried a lot.
This is the best an powerful = DirectX 10 Renderer added
this is the best engine that i found in the internet. ease to use and powerful structure whit fastest update and very good update.
if you have a free and powerful engine , you can find this a best engine.
Best of the open source engines
I've not met another general-purpose, open source 3D engine as good as OGRE. Compared to the other engines I've used, OGRE is the most featureful (with the possible exception of Crystal Space) and certainly the easiest to start using out of the box, even if you compile from source rather than use the prebuilt binaries.
The performance of the engine is amazing. I've never had a performance or stability problem with OGRE that didn't happen to be my own fault. And when problems come around, the quality documentation (including the source docs) and the OGRE community were always available to provide expert advice!
I've tried this engine out for some while since it was the #1 on devmaster, but I am disgusted. It's complex, messy, sluggish, you name it.
It's just a rendering engine and at that point it sucks.
Doesn't have much to offer either.
Excellent 3D Graphics engine!!
OGRE3D is probably the best 3d engine out there..
ogre isnt a game engine.. it is a multi purpose 3d graphics engine..
for those claiming its difficult to use.. well knowing how to program is mandatory .. because its a 3d graphics library...
i find it extremely easy for what it is in comparison with directx or opengl...
only if you need very advanced or specific use of 3d graphics would be needed to use directly graphic apis like directx or opengl.. if not ogre3d will fit nicely..
although ogre doesnt include other system than the 3d rendering engine out of the box.. the commnunity has made many addons to make it more suitable for game development.. like physics integration, gui systems, sound systems, input systems,scene managers, mesh and scene exporters for 3d apps..
if you are experienced enough to integrate all these addons into ogre you can make a very nice game dev platform ...
there is also a modified version to be able to support .net languages called MOGRE.. it is not just a wrapper but a specially modified version of native ogre to support .net languages with as much features and perfomance possible..
this version has addon to support gui systems, physics integration, sound system and input systems ..
its free for commercial and non commercial use if you respect the LGPL license it has
all in all .. ogre its a great solution for general 3d apps and game development for already experienced C++ and C# programmers..
it is not suitable for beginners for its nature of been a library not game engine for beginners...
An excellent engine, but still needing some features
I've been using Ogre for about 2 years, and I've grown to love it. It really is an excellent, stable engine.
People sometimes claim it is difficult to use, but I disagree. I found it ridiculously easy to use (especially if you come from an OpenGL / DirectX background).
Ogre is essentially a wrapper over DirectX and OpenGL, and it is therefore possible to achieve AAA graphics quality with it, but it does not offer this 'out of the box'. That is, you can use Ogre to achieve any degree of graphical quality, but it will require some work.
Ogre is also constantly under active development, so it keeps very up-to-date.
However, I find the most helpful reviews are those that are honest about an engine's shortcomings, so let me dwell on that awhile:
> The engine has excellent support for outdoor scenes. It provides a TerrainSceneManager, several easy to use sky rendering options, examples of how to do AAA quality water effects etc. But unfortunately it doesn't provide much support for indoor scenes. The indoor scene managers are either outdated, or in progress.
> There is no well-defined pipeline for creating and getting game levels into Ogre. It doesn't merge seamlessly with any existing level editing tools, so you end up having to make your own. This makes the game creation process require a significant amount of work. However, having said that, several tools are in the works, and so this problem may be solved soon. I just wish one of these tools would be 'officially' adopted.
Without a doubt a capable graphics engine in all regards. The pro's I think are evident in the screen shots on the site. The renders are fantastic.
The con's are really based on the developers level of understanding of C++. A first time user with a moderate level of understanding is going to jump thought some hoops to get this engine up and running. Then when it is all said and done, they are going to have to find other methods to make up for the lack of features found in a true game engine.
So in the end, nice graphics engine but if you are looking for a fully functional game engine, keep on looking.
Best Engine Available and its Free!!!
This is a serious 3d engine. The code is clean and actually makes sense just by reading it. It supports all the fancy new shader effects and more, the performance is good and it is generally a pleasure to work with. There are tons of 3rd party libraries and community add-ons that can extend the features of this engine far beyond the list shown above. I have been looking at this engine for quite some time, but the ogre team has made significant progress in the last 2 years. This engine is under active development and it shows.
Unlike some other 3d engines, this one actually has accurate documentation. The wiki and forums contain very up-to-date information. Everyone in the community is also very helpful and there are no questions that go unanswered. The problem with many of other engines isn't their features, but their documentation. Who cares if an engines got a bazillion features if none of them work as listed?
Ogre is a great engine and is general enough that it can be used for any type of 3d application. Please understand though, the engine has a learning curve. You should be fairly comfortable with C++ and 3d programming before jumping in. Thats not to say a beginner couldn't learn, but this engine is targeted at intermediate to advanced programmers. It is also not a game engine, it is just a graphics engine. So some of the things you'd expect from a full game engine (like an official level editor) are absent. However, what it does do, it does best. There is no question this is one of the best rendering engines, open-source or otherwise.
I've worked with 4 engines (irrlicht ogre, panda and sdl) and I must say OGRE is the most complete of em all, alot of advanced effects & techniques avable.
Downside of it is that those more advanced things are bad or not documented and ogre in general is very user unfriendly.
So I don't recommend it for small amateur dev teams
Some people complain its not a full 3D engine but imo thats not really a problem, there are very good input handlers (sdl for example) and networking & sound & physics libraries avaible that can easily be integrated in ogre
If ogre had a better over design and user friendlyness, and maybe better documentation (community is ok tho) this would indeed deserve the title of top ranking free engine ...
basicly the choice you ahve to make is do I want very advanced features (OGRE) or fast development and user friendlyness (panda3D, ...?)
I need it sooo
I am a beginner and i want to learn an open source engine and i thank i can find it here.
i hope a chossed well.
Thanks for this soft.
In the screenshots i've seen that this engine is very clever
and it has much to add for me.
If i will make a first game in this engine i will be very happy
the loud achiever
Here we come to the louder and prouder open source engine. A great rendering subsystem, with basic physics features, expect great things from this small time GNU sdk.
One of the many sdk's I have installed into my copy of Visual C++ 2005 Express Edition, I find ogre easy to use, brilliant, and quite a good subsystem.
As with Shrek, this green ogre has more to it than meets the eye, featuring mostly on areas such as realtime lighting and normal maps rather than physics and dynamic gameplay.
Thus said, it is easy to program using ogre and C++, and I find it simple and quick to create 3d win32 apllications using ogre as my rendering system. It is not suited to be used solely in games, instead you will need another physics system, and will end up having to compile your engine with bits and peices from Ogre as well as using another system (such as irrlicht) for your main engine.
Although it has slight quirks, anyone who knows basic c++ can use the helpful tutorials and forums to quickly be up and running. Useful for any new indie programmer.
All in all, this is one impressive renderer and a great way to create the ever annoying night-day sequences and be able to have high detail models AND fast gameplay.
People of Duloc, I give you YOUR CHAMPION!
Pretty good so far
I'm not exactly that far with it yet but I've liked what I've seen so far.
I will say the main reason I switched from Irrlicht was because I found a world editor(FreeWorld3D) that I like that works with OGRE.
I was having a lot of issues finding a level editor I wanted to use with Irrlicht and it eventually sent me searching for other options.
I initially tried Jolt3D because it had a world editor and was a full game engine but hit a lot of issues with stability and found the support to be lacking.
OGRE is not a full game engine(and that turned me away at first) but there's a lot of support for integerating other engines for other features. I don't plan on using any networking so I don't care about that. I've planned on using another sound engine anyway so I don't care about that. Physics will be the biggest thing and it looks like it will be pretty easy to hook in ODE. I've already seen collision detection demos in OGRE so that's easy.
I haven't had to go to support yet because I find what I need in the forums, docs, and samples.
The setup is a little daunting at first, especially if you compare to the extremely easy to understand examples in Irrlicht. I've found it worth figuring out though. Their whole scripting thing is starting to grow on me. That's really nice to be able to configure so easily just from the content side of things.
I wish there were samples showing how to do things without the ExampleApplication class because I'm too lazy to start off with my own setup from the start...It's ok I guess. I'll just tear it apart slowly as I need to grow beyond it. I know I'm going to want to use multiple scene managers eventually...
I've had to use a lot of support for 3rd party Freeworld3D but so far the author (Soconne) has been completely awesome.
Ogre is the best open source rendering engine!
As for me OGRE is the best engine i've ever used.
Try and be convinced that I am right.
Wisit screenshot galery to see that ORGE is realy cool -
We will wait you !!!
eng. community - http://www.ogre3d.org/
rus. community - http://www.ogre3d.org.ru/news.php
OGRE is cool! :)
Yes, OGRE 3D isn't a game engine - it's a 3d rendering engine. But this is not a minus. The graphics are exellent and any other game engine feature may be plugged in if needed. All-in-one engines with integrated physics, sound and etc. are too complex and their authors cannot make all parts of their creation equally good. But when any part is developed by a single team and when there are several different variants of physics plugins or script plugins etc., you can chose what do you need and the overall quality of the resulting game engine will be awesome!
Now everything depends on your talents and abilities. Good luck! :)