Advertisement

Irrlicht any good?

Started by December 07, 2012 04:14 AM
15 comments, last by MARS_999 11 years, 11 months ago
Title says it all.... I am looking to use a free cross platform engine that has everything for the most part all ready done.

No I don't want to use Unity....

Thanks!
Most likely you will choose between irrlicht and ogre.
Goolging "irrlicht vs ogre" without quote marks will give you a bunch of comparison. You need to check which one will satisfy all your needs.

I didn't use both engine, but I compiled Irrlicht and it's super easy to compile with VC. Also Irrlicht has plenty of wonderful sample code. Not sure about OGRE.

https://www.kbasm.com -- My personal website

https://github.com/wqking/eventpp  eventpp -- C++ library for event dispatcher and callback list

https://github.com/cpgf/cpgf  cpgf library -- free C++ open source library for reflection, serialization, script binding, callbacks, and meta data for OpenGL Box2D, SFML and Irrlicht.

Advertisement
Proof's in the pudding. Go check out their forums and see what others have done with it. From what I can see people have been creating real games with it, which is saying something.
Ogre3d is more complex, and is also more "mature" and has a few more features. Irrlicht is very usable, but at the moment has some missing features that are very important to some people. For example, you can't mix animations without a big workaround, and they don't have ready the flexible vertex format thing yet.

Another possible option to try is panda3d. It is usually used with python, but you can also use C++. It is quite mature and more complete than either ogre3d or irrlicht in that it includes sound and physics, making it a more complete engine. With the other two, you have to roll your own, or integrate a different library for those things, and then you have to mesh them together, connecting NVidia Physx with irrlicht's scene nodes, or whatever combination you use.

Lastly, what is the problem with Unity? I know the free version is missing some features, but most of those features aren't really needed anyway unless you are going AAA. Also, C# isn't that different from C/C++. On the other hand, if there is a certain non-free feature that you feel you need, then it makes sense, but I'm curious.


I can't comment on Irrlicht, but I'v been using Ogre since quit some time already and I like it. It's cross platform and will also support Windows Phone 8/WinRT. Ogre's been around since long enought (I was still at school when I first saw it, I'm 27 years old). I don't know what you need but I'm positive it has everything you might need.

Their tutorial are helpfull but not perfect however. I don't like multi-inheritance and one of their tutorial serie use it a lot. You can use the information provided and do your own architecture quite easily with it so it's not big deal.
The documentation looks complete but it's hard to tell.
Their forum are very active so if you never need help they could probably help you.

If you have a good c++ background and programming in general it shouldn't be a problem to learn to program using Ogre.
I've used irrlicht for some time, and in itself it's quite easy to use for simple to moderately complex graphics-related projects, but to be completely honest I wouldn't recommend it anymore these days.

Irrlicht relies on its community a lot to provide features, so you have a bunch of scattered-around half-completed projects to support more current-gen techniques which you'd find standard in any other rendering engine (like support for DX10+). Irrlicht tends to cling to the 'old way' of doing graphics by keeping fixed-function rendering a central aspect of their engine. Using a programmable pipeline is possible though, but last time I tried it it wasn't exactly a pleasant experience.

Another thing that bothers me is that while irrlicht's design is easy enough to understand, it disregards a lot of best practices and coding guidelines which results in huge ugly classes with way too many responsibilities. The last time I used it the scene manager fulfilled the roles of a root scene node (it actually inherited from the scene node 'interface'), a scene tree, and an extremely tightly coupled factory for different scene nodes which explicitly knew about every single type of scene node it had to create.
They also tend to abuse inheritance quite a bit, their scene system for example expects you to inherit from a common scene node interface (which in itself really isn't an interface at all, it only tries to look like an interface) every time you want to add some custom behaviour to your scene.



I can't really comment on Ogre though having never actually used it. I looked over it quite some time ago, but their utter abuse of the singleton pattern (don't know if they still do this) made me decide not to try it.

I gets all your texture budgets!

Advertisement
Wow, so many people have such broad opinions on all these engines and design/coding practices.... :(

I am not interested in learning C# so no to that. I have not enough time to mess around with another aspect in my life anymore.

I am getting the gist that Orge3D or Panda3d maybe the way to go... What about C4?

Thanks!
You could also consider the relatively newly open-sourced Torque 3d (documentation).

I haven't used it, but have heard good things about C4, and it's definitely a capable engine if it meets your needs.


OGRE is certainly capable -- questions about the design aside -- but it's probably not what you're looking for -- it's a rendering engine only, not a complete game engine.

- Jason Astle-Adams

What about ClanLib?
Nevermind about ClanLib, it has no tools from what I can see and no animation for meshes either... :(

This topic is closed to new replies.

Advertisement