Irrlicht vs Ogre
-
- Posts: 8
- Joined: Thu Aug 03, 2006 5:45 am
Irrlicht vs Ogre
Ok I expect that I will get some major bias here, but I just wanted to really know what is the difference between the two engines... Pros & Cons
-
- Posts: 1029
- Joined: Thu Apr 06, 2006 12:45 am
- Location: Tennesee, USA
- Contact:
-
- Posts: 8
- Joined: Thu Aug 03, 2006 5:45 am
I will comment with facts, but first I would like to remark about this:
I think you have to choose what is best for your needs, time requirements and ability. Ogre supports more advanced features, although Irrlicht is starting to do so too. When it comes to learning either of the engines, Irrlicht is much faster. However, if you are willing to spend the time learning Ogre, you are rewarded with a high-quality commercial-like app. It is your choice. Here is a list of pluses(+) and minuses(-) to each engine. Please note that this is only my personal opinion and may not reflect other users' opinions.
Irrlicht:
+Very good at bsp loading and indoor scenes. This is one major advantage over Ogre.
+Can load many different 3d formats- 3ds, obj, mesh, collada etc.
+Easy-to-use interface
+Small executables and small dll.
+Promising scene support via the .irr format and IrrEdit
+Support for older hardware and OSs- runs on DirectX8.0
-Irrlicht is slower at loading 3d models
-Irrlicht doesn't always take advantage of the newest graphic card features
-Shader support is not fully yet implemented(this will change in the near future)
-Fewer SDK releases than Ogre.
-No current commercial apps made with Irrlicht.
Ogre:
+Faster at loading 3d models than Irrlicht
+Release and Debug builds. Really nice for error checking. There is also a memory leak manager in Debug builds.
+Has its own mesh format for optimizing performance
+Material, shader, and overlay scripts. You don't have to recompile your code to simply change different settings.
+Nice dll and plugin based system. It is easy to create/modify/add to scene managers, render plugins, special effect managers or the Ogre core without recompiling the whole engine. Offers flexibility too.
+Optimized at rendering on the latest graphic cards available
+Really supportive large community. For example, I had 5 answers to my question within 3 minutes!
-Ogre lacks at BSP loading. The BSP SceneManager is out-of-date.
-Ogre can't run on many older OSs, hardware, or graphics cards.
-Ogre executables tend to be quite large. This can be slightly out-weighted by using a compression tool like UPX though.
-Ogre supports only the mesh format. Some users like it(myself included) while other users find it a negative.
-Ogre currently is released under the LGPL. This allows you to make commercial apps on PCs, but restricts you from development on Game Consoles. The new version of Ogre, code-named Eihort, which is up for release next month, will offer a second license at a price which allows for unrestricted console development.
That is all. One thing that I left out is that Irrlicht has its own software renderers. I am not sure if this is a positive or negative; I am happy with just DirectX or OpenGL. I think I listed all the important points. For the best evaluation, check both engines out yourself and try them out! Please comment if I missed an important positive/negative for either engine.
Sorry, but Dev-Cpp is not nearly as nice as Code::Blocks or Visual C++. No plugin-based system, no "intellisense-like" completion, and no support for different build setups(debug, release). And, on top of this, the statement is not true. Ogre can be used with Dev-cpp. I did it myself a month ago. I needed to compile my app on Windows 98, and the Code::Blocks binary uses Unicode. It took me 10 minutes to set up, and worked like a gem.Irrlicht : Works with Dev-cpp
Ogre : doesn't
I think you have to choose what is best for your needs, time requirements and ability. Ogre supports more advanced features, although Irrlicht is starting to do so too. When it comes to learning either of the engines, Irrlicht is much faster. However, if you are willing to spend the time learning Ogre, you are rewarded with a high-quality commercial-like app. It is your choice. Here is a list of pluses(+) and minuses(-) to each engine. Please note that this is only my personal opinion and may not reflect other users' opinions.
Irrlicht:
+Very good at bsp loading and indoor scenes. This is one major advantage over Ogre.
+Can load many different 3d formats- 3ds, obj, mesh, collada etc.
+Easy-to-use interface
+Small executables and small dll.
+Promising scene support via the .irr format and IrrEdit
+Support for older hardware and OSs- runs on DirectX8.0
-Irrlicht is slower at loading 3d models
-Irrlicht doesn't always take advantage of the newest graphic card features
-Shader support is not fully yet implemented(this will change in the near future)
-Fewer SDK releases than Ogre.
-No current commercial apps made with Irrlicht.
Ogre:
+Faster at loading 3d models than Irrlicht
+Release and Debug builds. Really nice for error checking. There is also a memory leak manager in Debug builds.
+Has its own mesh format for optimizing performance
+Material, shader, and overlay scripts. You don't have to recompile your code to simply change different settings.
+Nice dll and plugin based system. It is easy to create/modify/add to scene managers, render plugins, special effect managers or the Ogre core without recompiling the whole engine. Offers flexibility too.
+Optimized at rendering on the latest graphic cards available
+Really supportive large community. For example, I had 5 answers to my question within 3 minutes!
-Ogre lacks at BSP loading. The BSP SceneManager is out-of-date.
-Ogre can't run on many older OSs, hardware, or graphics cards.
-Ogre executables tend to be quite large. This can be slightly out-weighted by using a compression tool like UPX though.
-Ogre supports only the mesh format. Some users like it(myself included) while other users find it a negative.
-Ogre currently is released under the LGPL. This allows you to make commercial apps on PCs, but restricts you from development on Game Consoles. The new version of Ogre, code-named Eihort, which is up for release next month, will offer a second license at a price which allows for unrestricted console development.
That is all. One thing that I left out is that Irrlicht has its own software renderers. I am not sure if this is a positive or negative; I am happy with just DirectX or OpenGL. I think I listed all the important points. For the best evaluation, check both engines out yourself and try them out! Please comment if I missed an important positive/negative for either engine.
Last edited by 3ddev on Thu Dec 28, 2006 7:57 am, edited 1 time in total.
Irrlicht is easy. ogre is big and confusing. thats how its been for me. ogre does seem to have a shitload more features though, and eyecandy etc. but I only recommend if you have a big experienced team, else irrlicht is more fun! EDIT: Woops I posted at the same time as 3ddev. His description seems accurate.
-
- Posts: 1029
- Joined: Thu Apr 06, 2006 12:45 am
- Location: Tennesee, USA
- Contact:
Code::Blocks and Visual C++ never worked for me, always had unfixable linker errors and the dev-cpp compiler shows you where the errors are and you can 'jump' to them...never found a feature that does that in Code::Blocks or Visual C++, also, not sure what intellisense completion is but it does have a completion system where a drop-down menu comes up and you can select the function from the class/struct that you want to use (it gives all the arg's and such).3ddev wrote:I will comment with facts, but first I would like to remark about this:Sorry, but Dev-Cpp is not nearly as nice as Code::Blocks or Visual C++. No plugin-based system, no "intellisense-like" completion, and no support for different build setups(debug, release). And, on top of this, the statement is not true. Ogre can be used with Dev-cpp. I did it myself a month ago. I needed to compile my app on Windows 98, and the Code::Blocks binary uses Unicode. It took me 10 minutes to set up, and worked like a gem.Irrlicht : Works with Dev-cpp
Ogre : doesn't
But, this isn't what this thread is for, so I'll stop hijacking =D
That is what I would've said if I had enough time, I agree with it3ddev wrote: The rest of the post
Ogres standard terrainrenderer gives you five! times the framerate as Irrlichts, but if u wan't collision detection you will realize that Ogre BSP's simply suck. Using bsp's you have to layout your geometry according to certain tight restrictions. With Irrlicht you are free, which is really nice. There is better shader support in Ogre. In Irrlicht you have Visual Editor, Irredit, Klasker's trees, Ackis Extensions, Sio2's water, ....etc. pp and all of it in useable form whereas with Ogre you have to get the source for the tools from CVS first and most of the stuff does not work out of the box. Then they have fairytales like Goof (nomen est omen) where i have never seen a working exe, other editors which crash every five minutes and other non-useable and badly documented stuff.
As i can't make it better myself Ithink both are great engines, check them both.
As i can't make it better myself Ithink both are great engines, check them both.
-
- Posts: 616
- Joined: Wed Nov 01, 2006 6:26 pm
- Location: Cairo,Egypt
- Contact:
One further difference, so far unmentioned: Irrlicht, while not being a game engine, has many game oriented / multi-purpose utility functions. Collision, Gravity, Input and GUI. Ogre has none of these (Input is removed from Eihort)
Decide yourself, whether this is a pro or a con.
It has been said already, that Ogre has more features than Irrlicht, but not so much to what degree. The difference is big actually. Of course, both have the basics. Mesh rendering, materials, lighting, shadows, animations, etc.
Both have shadow support on their feature sheet, but if you look at it closer, then you'll see how much they actually differ here.
Ogre basically supports four techniques (stencil and shadowmapping, each additive and modulative) Irrlicht only modulative stencil shadow. Ogre's shadow system is very customisable and uses as many GPU features as are available on a card to accelerate rendering. And its manual explains the different techniques and options in detail. Also it makes sure, shadows play nice with shaders. Irrlicht ignores transforms done by vertex shaders for instance. Also Ogre allows you to customise shadowmapping completely via shaders. (Almost all top games these days do this.)
The same is true for every other feature named above. Ogre's material system allows for materials with as many passes as you want, as many texture units per pass as allowed by hardware (splitting into multiple passes if necessary), customisable blending between TUs and passes alike and fallbacks for older hardware. Also shader integration, which is a pain in irrlicht, is elegantly done.
I could go on with animations, meshes too, but you get the idea.
If you skim the forum for older posts, even a few years ago it has been said, that "in a year" Irrlicht closes the gap to Ogre, but actually the gap delates. And it will further delate probably. There are a few "bombs" hidden in Irrlicht's current design. In the past, new features weren't always properly integrated, but rather hacked into Irrlicht. (Animation system, shader integration, vertex format, etc)
Such things are usually disarmed easily in the beginning, but the more the project grows, the bigger the necessary changes and the easier to break something. It is hard to fix now.
Bottom line: Both do the basics, but if you want to do something competitive, choose Ogre. Irrlicht on the other hand really is easier to learn and understand, as already told by fellow users. If you are a beginner, then Irrlicht also is easier to use, else I found Ogre easier to use. The API is more complete, which is confusing at the beginning, but more comfortable after getting used to it.
Decide yourself, whether this is a pro or a con.
It has been said already, that Ogre has more features than Irrlicht, but not so much to what degree. The difference is big actually. Of course, both have the basics. Mesh rendering, materials, lighting, shadows, animations, etc.
Both have shadow support on their feature sheet, but if you look at it closer, then you'll see how much they actually differ here.
Ogre basically supports four techniques (stencil and shadowmapping, each additive and modulative) Irrlicht only modulative stencil shadow. Ogre's shadow system is very customisable and uses as many GPU features as are available on a card to accelerate rendering. And its manual explains the different techniques and options in detail. Also it makes sure, shadows play nice with shaders. Irrlicht ignores transforms done by vertex shaders for instance. Also Ogre allows you to customise shadowmapping completely via shaders. (Almost all top games these days do this.)
The same is true for every other feature named above. Ogre's material system allows for materials with as many passes as you want, as many texture units per pass as allowed by hardware (splitting into multiple passes if necessary), customisable blending between TUs and passes alike and fallbacks for older hardware. Also shader integration, which is a pain in irrlicht, is elegantly done.
I could go on with animations, meshes too, but you get the idea.
If you skim the forum for older posts, even a few years ago it has been said, that "in a year" Irrlicht closes the gap to Ogre, but actually the gap delates. And it will further delate probably. There are a few "bombs" hidden in Irrlicht's current design. In the past, new features weren't always properly integrated, but rather hacked into Irrlicht. (Animation system, shader integration, vertex format, etc)
Such things are usually disarmed easily in the beginning, but the more the project grows, the bigger the necessary changes and the easier to break something. It is hard to fix now.
Bottom line: Both do the basics, but if you want to do something competitive, choose Ogre. Irrlicht on the other hand really is easier to learn and understand, as already told by fellow users. If you are a beginner, then Irrlicht also is easier to use, else I found Ogre easier to use. The API is more complete, which is confusing at the beginning, but more comfortable after getting used to it.
Ogre:
For me the main advantage of ogre is its animation control. You can mix bone animations however you please which leads to interesting possibilities.
The main disadvantage of ogre is its weight. Im not really sure how many dlls and SDKs you need to get some basic stuff working... but it gets confusing and is unneccessary. This deems ogre unusable to me.
Irrlicht:
I really enjoy how small irrlicht is but the animation and model support is terrible. Apparently irrlicht's main model format is .x but as far as i can tell, the engine has yet to reap the rewards of a bone animation system.
All things considered: I intend to stick with irrlicht because of its small size and I have faith that the animation system will be updated.
For me the main advantage of ogre is its animation control. You can mix bone animations however you please which leads to interesting possibilities.
The main disadvantage of ogre is its weight. Im not really sure how many dlls and SDKs you need to get some basic stuff working... but it gets confusing and is unneccessary. This deems ogre unusable to me.
Irrlicht:
I really enjoy how small irrlicht is but the animation and model support is terrible. Apparently irrlicht's main model format is .x but as far as i can tell, the engine has yet to reap the rewards of a bone animation system.
All things considered: I intend to stick with irrlicht because of its small size and I have faith that the animation system will be updated.
-
- Posts: 58
- Joined: Thu Apr 06, 2006 11:54 pm
Hmm, this will be a big issue in a project I'm planning on starting any day now... is it currently possible to "mix bone animations however you please" in Irrlicht using a physics engine (i.e. Newton)? Or is this feature impossible right now, but planned for the future?xskinyx wrote:and I have faith that the animation system will be updated.
And just to add my two cents to the topic:
I've "used" both engines for a little, although I barely got anywhere in either (I was mainly trying to see for myself what each was capable of, and get a small [insert graphics engine]+Newton "sandbox" project working for each engine). After playing around in Irrlicht for a bit, I tried integrating Newton using tutorials, but could never get it to work. My mistake was probably going too fast - my grasp of the VC++ environment at the time was not so good. At this time I also tried dev C++ and couldn't get it working.
Then later, I tried Ogre. There were several weeks of frustration in which I downloaded the Ogre SDK, then OgreNewt (which caused problems), then Ogre from source, which required I download the DirectX SDK, and finally, it didn't work any better than before. VC++ was just giving a weird error that didn't mean a thing to me or anyone who replied - something to do with incompatibilities with libraries on my system. So, that halted my Ogre experience, I was unable to get much more than the demos to compile. Once again I place my blame on VC++; it was the main cause of my frustrations, and Ogre's hugeness just magnified it 100 times.
So here I am about to delve into Irrlicht again, taking it slower so I don't get lost trying to integrate stuff. Hope my shaky begginnings into graphics engine usage doesn't influence anyone's engine decision one way or the other . But if you're gonna try either, make sure you go slow enough so that you know what exactly you're doing - don't try to integrate too many things right off the bat (especially in Ogre!)
=D