Ogre or Horde3D
-
- Gnoblar
- Posts: 6
- Joined: Sat May 05, 2007 12:30 am
Ogre or Horde3D
Hello,
I have used Ogre for a smaller student project (nothing fancy) and was quite happy with the results. Now we have a lecture where we need to create a 3d game in a team of several people. Since I have already some expericence with Ogre my suggestion was to use that engine, but we have a rather experienced group member who has already played with another open source graphics engine called Horde3D (link is http://www.nextgen-engine.net) and who prefers that for our project. Now we can't decide which engine to use. Horde3D looks quite powerful, clean and easy to use. But Ogre is also quite nice. Does anyone have some experience with that other engine?
Any comments are welcome, thanks in advance!
I have used Ogre for a smaller student project (nothing fancy) and was quite happy with the results. Now we have a lecture where we need to create a 3d game in a team of several people. Since I have already some expericence with Ogre my suggestion was to use that engine, but we have a rather experienced group member who has already played with another open source graphics engine called Horde3D (link is http://www.nextgen-engine.net) and who prefers that for our project. Now we can't decide which engine to use. Horde3D looks quite powerful, clean and easy to use. But Ogre is also quite nice. Does anyone have some experience with that other engine?
Any comments are welcome, thanks in advance!
-
- OGRE Expert User
- Posts: 421
- Joined: Fri Jan 07, 2005 9:49 pm
- Location: UK
- x 2
- Contact:
I haven't tried Horde3D, it looks interesting but much smaller than Ogre3D.
Getting help and support is a very important thing, especially when diving into a complete project. Look at the Horde3D forums and compare to Ogre, the difference of number of posts is the obvious first thing you will notice.
Getting help and support is a very important thing, especially when diving into a complete project. Look at the Horde3D forums and compare to Ogre, the difference of number of posts is the obvious first thing you will notice.
- stoneCold
- OGRE Expert User
- Posts: 867
- Joined: Fri Oct 01, 2004 9:13 pm
- Location: Carinthia, Austria
- x 1
I agree with P's saying about help and support.
Horde3D's community seems to be at it's beginning (~40 forum users) where Ogre's is the quite most mature, helpful and friendly community I've ever seen
(though, Ogre's forums have had ~40 forum users someday in past too )
Furthermore from Horde's feature list I read...
One of Ogre's mottos is "flexibility". That means that you are not at all tied to a platform or rendering API (directX, openGL), you are free to choose any shader language, etc.
Finally it's up to you to decide what you really want from your engine of choice.
greetings
Horde3D's community seems to be at it's beginning (~40 forum users) where Ogre's is the quite most mature, helpful and friendly community I've ever seen
(though, Ogre's forums have had ~40 forum users someday in past too )
Furthermore from Horde's feature list I read...
... which is already a restriction of the engine per se.Shader driven architecture with SM 2.0 compatible hardware as a minimum requirement
... that means that only windows and openGL are supported (at the current state).Currently available for Windows using OpenGL
... again a restriction, if you can live with it.Horde3D requires an OpenGL 2.0 compatible graphics card with support for floating point buffers like a GeForce 6 series card or Radeon 9500.
One of Ogre's mottos is "flexibility". That means that you are not at all tied to a platform or rendering API (directX, openGL), you are free to choose any shader language, etc.
Finally it's up to you to decide what you really want from your engine of choice.
greetings
my tweets | www.fuse-software.com | home of vektrix (Flash GUI for Ogre3D) and caspin (ActionScript 3 Virtual Machine Wrapper)
- Praetor
- OGRE Retired Team Member
- Posts: 3335
- Joined: Tue Jun 21, 2005 8:26 pm
- Location: Rochester, New York, US
- x 3
- Contact:
- spooky_paul
- Halfling
- Posts: 61
- Joined: Fri Oct 20, 2006 6:09 am
- Location: Romania
- Contact:
i`ve played a bit with horde, it`s a nifty little engine that although lacks allot of features it gets things done. since version 0.10.0 it supports older GPUs, it is not limited on the GeForce 6 series, it works on my older fx5200. but if your project requires more advanced features stick with ogre
- nikki
- Old One
- Posts: 2730
- Joined: Sat Sep 17, 2005 10:08 am
- Location: San Francisco
- x 13
- Contact:
-
- Gnoblar
- Posts: 6
- Joined: Sat May 05, 2007 12:30 am
Thanks for your answers so far!
Our project will take three months, so time is not so much of a problem.
I have looked a bit into the Horde3D documentation. From the major features it seems to be on the same level as Ogre except for particle systems (which they say are coming next). They even have a quite advanced animation blending system and morph targets which they used for lip synchromization in one of their projects. As I understand everything is based on shaders, so they get their flexibility while keeping the code base small. That's probably also the reason why they call it a next-generation engine.
Personally I must admit that liked the concept of having just a few simple and clean functions to control everything. Another great plus is that they have a .NET wrapper so we could use C# (two of our members prefer C# over C++).
The point with the community is true, it is still years away from the size of Ogre.
Hmm, I guess that will become a difficult decision...
Our project will take three months, so time is not so much of a problem.
I have looked a bit into the Horde3D documentation. From the major features it seems to be on the same level as Ogre except for particle systems (which they say are coming next). They even have a quite advanced animation blending system and morph targets which they used for lip synchromization in one of their projects. As I understand everything is based on shaders, so they get their flexibility while keeping the code base small. That's probably also the reason why they call it a next-generation engine.
Personally I must admit that liked the concept of having just a few simple and clean functions to control everything. Another great plus is that they have a .NET wrapper so we could use C# (two of our members prefer C# over C++).
The point with the community is true, it is still years away from the size of Ogre.
Hmm, I guess that will become a difficult decision...
- Game_Ender
- Ogre Magi
- Posts: 1269
- Joined: Wed May 25, 2005 2:31 am
- Location: Rockville, MD, USA
-
- Ogre Magi
- Posts: 1266
- Joined: Tue Aug 12, 2003 1:53 am
- Location: Melbourne, Australia
- x 1
- Contact:
- deficite
- Gremlin
- Posts: 160
- Joined: Sat Oct 15, 2005 4:31 pm
- Location: TN, USA
- Contact:
You talking about in their "tutorial"? I said the same exact thing. It's not object oriented at all. The only C++ thing I saw in the tutorial code was namespaces (I haven't looked at Horde's source, but it looks as though they use the ampersand "pointers" in their functions too). I personally prefer OOP, and although I do admire the simplicity of that tutorial code, I think it's simple to a fault. OGRE is really overwhelming whenever you first are trying to learn it, but once you get an idea of OGRE's philosophy, it all makes sense. OGRE is one of the most consistent API's I've ever used (a lot of times I can just guess with my gut on how something I haven't used works and it will work. That's consistency for you.)
Horde looks like a neat little engine, it just doesn't look very flexible.
Horde looks like a neat little engine, it just doesn't look very flexible.
- sinbad
- OGRE Retired Team Member
- Posts: 19269
- Joined: Sun Oct 06, 2002 11:19 pm
- Location: Guernsey, Channel Islands
- x 66
- Contact:
That kind of comment always gives me a warm feeling inside - that's precisely what I've always aimed for. Personally it's because my memory is absolutely terrible, so I like things that work the way they feel like they shoulddeficite wrote: (a lot of times I can just guess with my gut on how something I haven't used works and it will work. That's consistency for you.)
I won't comment on Horde3D because I haven't used it, and I don't like commenting on other people's engines because I can never be impartial. Besides, how can I criticise someone elses engine when there's so much I still feel needs doing to Ogre? That's just perfectionism though, I don't think I'll ever stop feeling that way
In the end, go with whatever you or the majority of the people on your team are comfortable with. No one engine is best for everyone.
-
- Gnoblar
- Posts: 6
- Joined: Sat May 05, 2007 12:30 am
I just looked a bit into the code. It looks cleanly structured and well readable.
Internally it is completely object oriented. The generic C-style interface is just a wrapper. The docs state that this way it is very easy to port the engine to other languages and that it has a lower learning curve since you don't have to know the complete class structures. In fact I have seen in the forums that someone has just ported Horde3D to the scripting language Euphoria in some hours. http://www.nextgen-engine.net/forums/viewtopic.php?t=64
I wrote a mail to the lead developer with some questions and he replied quickly. He said that they spend most of their time on developing concepts that make it possible to get a maximum of flexibility from a minimum of required functions. In that point it has another philosohpy than Ogre, both with their respective ups and downs.
Next week my team will have a meeting and compare the workflow of getting content to the engines. Horde3D seems to be based on Collada, I'm curious to see how that will work out. After that we will finally make our decision.
Internally it is completely object oriented. The generic C-style interface is just a wrapper. The docs state that this way it is very easy to port the engine to other languages and that it has a lower learning curve since you don't have to know the complete class structures. In fact I have seen in the forums that someone has just ported Horde3D to the scripting language Euphoria in some hours. http://www.nextgen-engine.net/forums/viewtopic.php?t=64
I wrote a mail to the lead developer with some questions and he replied quickly. He said that they spend most of their time on developing concepts that make it possible to get a maximum of flexibility from a minimum of required functions. In that point it has another philosohpy than Ogre, both with their respective ups and downs.
Next week my team will have a meeting and compare the workflow of getting content to the engines. Horde3D seems to be based on Collada, I'm curious to see how that will work out. After that we will finally make our decision.
- tau
- Silver Sponsor
- Posts: 413
- Joined: Wed Feb 11, 2004 11:44 am
- Location: Austin (that's kept wierd :))
Horde3D does not work on some low end cards, and requires Shaders 2.0+, all the integrated Intel cards will be left aside - a huge amount of casual gamers
Twitter: Tau Powered
- cybereality
- Hobgoblin
- Posts: 563
- Joined: Wed Jul 12, 2006 5:40 pm
- x 12
If you already have experience with Ogre, I'd say go with that. I looked into Horde3D but it is seriously immature at this point. Many features are "planned" and there aren't many users for support. Some of the screenshots look decent, but nothing that couldn't be done with Ogre. Plus, Ogre has been used in commercial titles. Horde3D hasn't been used for anything serious AFAIK.
// cybereality
// cybereality
- ScurvyKnave
- Gremlin
- Posts: 150
- Joined: Mon Oct 10, 2005 5:57 pm
- Contact:
Horde3D looks to be a different sort of engine. No fixed-function, by the looks of it, and they write most of the shaders for you.
Actually, this is something that confuses me about most engines. Most advertise features such as 'supports such-and-such a lighting model', 'supports bump mapping' etc etc. Why are these advertised as engine features? In my mind, any engine that supports shaders supports all of these. To me, the engine, and any shaders one chooses to use, are completely separate things.
Isn't versatility what shaders are all about? With fixed function there was a fixed way of doing things, which was easier to use, but lacked versatility, whereas shaders allowed the programmer to have complete control. Isn't an engine that forces the user to use a specific set of shaders just introducing another 'fixed-function pipeline'? Not in terms of hardware obviously, but in terms of the way the engine is used - lighting etc. handled for you automatically, but offering little or no control over it.
Actually, this is something that confuses me about most engines. Most advertise features such as 'supports such-and-such a lighting model', 'supports bump mapping' etc etc. Why are these advertised as engine features? In my mind, any engine that supports shaders supports all of these. To me, the engine, and any shaders one chooses to use, are completely separate things.
Isn't versatility what shaders are all about? With fixed function there was a fixed way of doing things, which was easier to use, but lacked versatility, whereas shaders allowed the programmer to have complete control. Isn't an engine that forces the user to use a specific set of shaders just introducing another 'fixed-function pipeline'? Not in terms of hardware obviously, but in terms of the way the engine is used - lighting etc. handled for you automatically, but offering little or no control over it.
- madmark
- Goblin
- Posts: 292
- Joined: Fri Jul 22, 2005 8:14 pm
- Location: Midwest USA
- Contact:
-
- Greenskin
- Posts: 116
- Joined: Fri Jul 28, 2006 9:35 am
- Contact:
YES! I agree 100%... when you see what I've been able to do graphically with OGRE lots here will smile... good art is good art and good shaders are good shaders, you can take them to any engine and they will look great. Nothing irks me more than when an engine advertises 'parallax mapping' or something like that. What I'd much rather see is 'complete material framework' such as OGRE's that makes writing shaders a pleasure (even sans the material editor that I hope works out with the GSoC).ScurvyKnave wrote:Horde3D looks to be a different sort of engine. No fixed-function, by the looks of it, and they write most of the shaders for you.
Actually, this is something that confuses me about most engines. Most advertise features such as 'supports such-and-such a lighting model', 'supports bump mapping' etc etc. Why are these advertised as engine features? In my mind, any engine that supports shaders supports all of these. To me, the engine, and any shaders one chooses to use, are completely separate things.
Isn't versatility what shaders are all about? With fixed function there was a fixed way of doing things, which was easier to use, but lacked versatility, whereas shaders allowed the programmer to have complete control. Isn't an engine that forces the user to use a specific set of shaders just introducing another 'fixed-function pipeline'? Not in terms of hardware obviously, but in terms of the way the engine is used - lighting etc. handled for you automatically, but offering little or no control over it.
-
- Gnoblar
- Posts: 6
- Joined: Sat May 05, 2007 12:30 am
This week I had spent some time with the Horde docs and source and I must say that I was getting more and more convinced.
Yesterday we made our content integration test. We wanted to know it, so we made a pretty complex test case. We had a (artistically stupid) test model in 3ds max with two skin modifiers and a morph target. We tried to export the model with the Ogre tools but had problems when displaying it, probably because of the two skins on one model.
After that we tried with Horde by exporting the model to Collada. All we had to do after that was dragging the exported file onto the Horde3D Collada tool and loading it in our small sample. And the surprise for me: it just worked! We tried to modify the morph weights which was easy with just one function call. After that we tried to blend and mix two animations - no problems, you just need two function calls for that. That's really great! The team behind the engine has my deepest respect for that...
I haven't seen any fixed shaders in the engine. There are some shaders in the sample application but you are free to change them in any way you want.
Ogre is a great engine and probably I would prefer it to Horde if we were doing a commercial game for casual gamers, just because of the hardware requirements. But from what I have learnt so far it seems to be really suitable if you want some sort of "next-generation" graphics quality without having to write hundreds of lines of code. This is the main intention for our project and so we will try to go the Horde3D way this time.
BTW, have you ever seen the feature list of Unreal Engine 3?
So my conclusion for all this is that every engine has its strengths and weak points, so you have to choose the right one for your task...
Yesterday we made our content integration test. We wanted to know it, so we made a pretty complex test case. We had a (artistically stupid) test model in 3ds max with two skin modifiers and a morph target. We tried to export the model with the Ogre tools but had problems when displaying it, probably because of the two skins on one model.
After that we tried with Horde by exporting the model to Collada. All we had to do after that was dragging the exported file onto the Horde3D Collada tool and loading it in our small sample. And the surprise for me: it just worked! We tried to modify the morph weights which was easy with just one function call. After that we tried to blend and mix two animations - no problems, you just need two function calls for that. That's really great! The team behind the engine has my deepest respect for that...
I haven't seen any fixed shaders in the engine. There are some shaders in the sample application but you are free to change them in any way you want.
Ogre is a great engine and probably I would prefer it to Horde if we were doing a commercial game for casual gamers, just because of the hardware requirements. But from what I have learnt so far it seems to be really suitable if you want some sort of "next-generation" graphics quality without having to write hundreds of lines of code. This is the main intention for our project and so we will try to go the Horde3D way this time.
BTW, have you ever seen the feature list of Unreal Engine 3?
They have more than 60 licensees, so advertising these features can't be that wrongSupport for all modern per-pixel lighting and rendering techniques including normal mapped, parameterized Phong lighting; custom artist controlled per material lighting models including anisotropic effects; virtual displacement mapping; light attenuation functions; pre-computed shadow masks; directional light maps; and pre-computed bump-granularity self-shadowing using spherical harmonic maps.
So my conclusion for all this is that every engine has its strengths and weak points, so you have to choose the right one for your task...
- Game_Ender
- Ogre Magi
- Posts: 1269
- Joined: Wed May 25, 2005 2:31 am
- Location: Rockville, MD, USA
Did you try oFusion? Collada support is the one area where Ogre is lacking there has been work hopefully support will get better.
Its also important to note that Horde is not a cross platform engine yet and is opengl only. So in some ways its not same kind of engine that Ogre is which is a cross platform render independent graphics engine.
Its also important to note that Horde is not a cross platform engine yet and is opengl only. So in some ways its not same kind of engine that Ogre is which is a cross platform render independent graphics engine.
Robotics @ Maryland AUV Team - Software Lead
-
- Ogre Magi
- Posts: 1266
- Joined: Tue Aug 12, 2003 1:53 am
- Location: Melbourne, Australia
- x 1
- Contact:
-
- Halfling
- Posts: 98
- Joined: Tue Oct 03, 2006 3:44 pm
- Location: Denmark
- Praetor
- OGRE Retired Team Member
- Posts: 3335
- Joined: Tue Jun 21, 2005 8:26 pm
- Location: Rochester, New York, US
- x 3
- Contact:
From what you say, it sounds like focus needs to shift towards Collada. If both max and maya are able to output Collada with very good support for their own features, then one, high quality collada to .mesh converter can serve as an easy addition to a content pipeline. Interesting insight.
About the "features" most often seen for engines these days. What it takes would be someone willing to sit down for a time and write shaders for these "features" and release them as a material pack. The recent work with the monster shader and the newer stuff shown in the showcase forum are very impressive. I have no doubt most of those "features" have been implemented with Ogre's material system many times. The difference is, we haven't taken them and somehow coded them directly into the engine and called them features. But maybe for publicity's sake we as a community should start toying with the idea of maintained material packs for these shader effects.
About the "features" most often seen for engines these days. What it takes would be someone willing to sit down for a time and write shaders for these "features" and release them as a material pack. The recent work with the monster shader and the newer stuff shown in the showcase forum are very impressive. I have no doubt most of those "features" have been implemented with Ogre's material system many times. The difference is, we haven't taken them and somehow coded them directly into the engine and called them features. But maybe for publicity's sake we as a community should start toying with the idea of maintained material packs for these shader effects.
-
- Gnoblar
- Posts: 6
- Joined: Sat May 05, 2007 12:30 am
Thanks for your answers again. From what I have seen now the OGRE community really seems to great! Nevertheless we have opted for Horde now since it seems to be a really nice tool for what we want to do and we love that it is so small but still powerful.
Also I have just seen that there is interest from the big guys in this engine. They have the choice between CryEngine 2.0, Gamebyro (Oblivion engine) and Offset and are currently seriously consindering using Horde3D.
http://www.nextgen-engine.net/forums/viewtopic.php?t=93
So this engine can't be that bad!
Also I have just seen that there is interest from the big guys in this engine. They have the choice between CryEngine 2.0, Gamebyro (Oblivion engine) and Offset and are currently seriously consindering using Horde3D.
http://www.nextgen-engine.net/forums/viewtopic.php?t=93
So this engine can't be that bad!