Ogre or Horde3D

Anything and everything that's related to OGRE or the wider graphics field that doesn't fit into the other forums.
lionheart
Gnoblar
Posts: 6
Joined: Sat May 05, 2007 12:30 am

Ogre or Horde3D

Post by lionheart »

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!
P
OGRE Expert User
OGRE Expert User
Posts: 421
Joined: Fri Jan 07, 2005 9:49 pm
Location: UK
x 2
Contact:

Post by P »

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.
User avatar
stoneCold
OGRE Expert User
OGRE Expert User
Posts: 867
Joined: Fri Oct 01, 2004 9:13 pm
Location: Carinthia, Austria
x 1

Post by stoneCold »

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 :wink: )

Furthermore from Horde's feature list I read...
Shader driven architecture with SM 2.0 compatible hardware as a minimum requirement
... which is already a restriction of the engine per se.
Currently available for Windows using OpenGL
... that means that only windows and openGL are supported (at the current state).
Horde3D requires an OpenGL 2.0 compatible graphics card with support for floating point buffers like a GeForce 6 series card or Radeon 9500.
... again a restriction, if you can live with it.

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)
User avatar
Praetor
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 3335
Joined: Tue Jun 21, 2005 8:26 pm
Location: Rochester, New York, US
x 3
Contact:

Post by Praetor »

How long do you have to do this project? How experienced are you with Ogre compared the other member with Horde3D, and how long do you think it would take to train the other members to be proficient in either engine. Often, time itself will make the decision for you, if time is indeed a factor.
User avatar
spooky_paul
Halfling
Posts: 61
Joined: Fri Oct 20, 2006 6:09 am
Location: Romania
Contact:

Post by spooky_paul »

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
User avatar
nikki
Old One
Posts: 2730
Joined: Sat Sep 17, 2005 10:08 am
Location: San Francisco
x 13
Contact:

Post by nikki »

Occlusion culling
Saw that in the 'Planned features' section of the Horde3D site. Would be a nice feature to see in one of the future Ogre releases.
lionheart
Gnoblar
Posts: 6
Joined: Sat May 05, 2007 12:30 am

Post by lionheart »

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... :roll:
User avatar
Game_Ender
Ogre Magi
Posts: 1269
Joined: Wed May 25, 2005 2:31 am
Location: Rockville, MD, USA

Post by Game_Ender »

Ogre has wrappers for C# and Python. Decision solved ;).
Vectrex
Ogre Magi
Posts: 1266
Joined: Tue Aug 12, 2003 1:53 am
Location: Melbourne, Australia
x 1
Contact:

Post by Vectrex »

err, is it just me or is the demo code suspiciously C like?
User avatar
deficite
Gremlin
Posts: 160
Joined: Sat Oct 15, 2005 4:31 pm
Location: TN, USA
Contact:

Post by deficite »

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.
User avatar
sinbad
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 19269
Joined: Sun Oct 06, 2002 11:19 pm
Location: Guernsey, Channel Islands
x 66
Contact:

Post by sinbad »

deficite 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.)
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 should :)

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.
lionheart
Gnoblar
Posts: 6
Joined: Sat May 05, 2007 12:30 am

Post by lionheart »

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.
User avatar
tau
Silver Sponsor
Silver Sponsor
Posts: 413
Joined: Wed Feb 11, 2004 11:44 am
Location: Austin (that's kept wierd :))

Post by tau »

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
User avatar
cybereality
Hobgoblin
Posts: 563
Joined: Wed Jul 12, 2006 5:40 pm
x 12

Post by cybereality »

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
User avatar
ScurvyKnave
Gremlin
Posts: 150
Joined: Mon Oct 10, 2005 5:57 pm
Contact:

Post by ScurvyKnave »

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.
User avatar
madmark
Goblin
Posts: 292
Joined: Fri Jul 22, 2005 8:14 pm
Location: Midwest USA
Contact:

Post by madmark »

tau wrote: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 ;)
Not to mention educational markets, ever see what scholls have in terms of hardware?
Professor420
Greenskin
Posts: 116
Joined: Fri Jul 28, 2006 9:35 am
Contact:

Post by Professor420 »

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.
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).
lionheart
Gnoblar
Posts: 6
Joined: Sat May 05, 2007 12:30 am

Post by lionheart »

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?
Support 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.
They have more than 60 licensees, so advertising these features can't be that wrong ;)

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...
User avatar
Game_Ender
Ogre Magi
Posts: 1269
Joined: Wed May 25, 2005 2:31 am
Location: Rockville, MD, USA

Post by Game_Ender »

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.
lionheart
Gnoblar
Posts: 6
Joined: Sat May 05, 2007 12:30 am

Post by lionheart »

Game_Ender wrote:Did you try oFusion? Collada support is the one area where Ogre is lacking there has been work hopefully support will get better.
Yes, that's the tool we were using.
Vectrex
Ogre Magi
Posts: 1266
Joined: Tue Aug 12, 2003 1:53 am
Location: Melbourne, Australia
x 1
Contact:

Post by Vectrex »

lionheart wrote:
Game_Ender wrote:Did you try oFusion? Collada support is the one area where Ogre is lacking there has been work hopefully support will get better.
Yes, that's the tool we were using.
in that case try the lexi exporter :) Because oFusion has some bugs
Carlsen
Halfling
Posts: 98
Joined: Tue Oct 03, 2006 3:44 pm
Location: Denmark

Post by Carlsen »

It also depends on whether your project is a science project (e.g. in real-time rendering), or you are going to create a game demo.

edit: sorry, you did mention it was for a game demo.

I would pick Ogre for its community. If you get stuck, you WILL get help here.
daves
Goblin
Posts: 214
Joined: Fri Jan 20, 2006 3:35 pm

Post by daves »

This is an easy one. Go with Ogre. The community-support alone makes it the right choice.
User avatar
Praetor
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 3335
Joined: Tue Jun 21, 2005 8:26 pm
Location: Rochester, New York, US
x 3
Contact:

Post by Praetor »

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.
lionheart
Gnoblar
Posts: 6
Joined: Sat May 05, 2007 12:30 am

Post by lionheart »

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. :o

http://www.nextgen-engine.net/forums/viewtopic.php?t=93

So this engine can't be that bad!
Post Reply