which (professional) 3D Engine? many objects, detailed objects, existent c# code

Aca3beaa4f6f81c7e195057632838075
0
Flockl82 101 Jul 13, 2009 at 15:09

hi there,

can you advise me a good rendering engine for the following purposes:
- display many objects at once (LOD, occlusion culling)
- objects are animated
- up-to-date visuals
- “game”-logic is already present in c# code

The engine does not have to be free.

All engines I found so far seem to be real game engines and therefore handle to much.

The biggest request is the reusability of the existing code. The existing program uses a very limited selfmade 3D Engine. It is the goal to achieve better visuals (detailed objects) and higher performance displaying lots of 3D elements (up to 200.000, many might be occluded).

My wish would be to give the whole “scene” to the engine, each element with their different LOD-models / textures. the engine should do all stuff like handling visibility, LOD, occlusion, lighting … rendering, and I still want to update f.e the position out of my c# code …

any recommendations?

6 Replies

Please log in or register to post a reply.

A0c9c0649c5deacc0ae3b7f7721c94d2
0
starstutter 101 Jul 13, 2009 at 15:42

@Flockl82

  • display many objects at once (LOD, occlusion culling)

almost all engines (free or not) support this. “Many” however, is a loose term.

  • objects are animated

again, I think you’d be hard-pressed to find an engine that didn’t do this

  • up-to-date visuals

What exactly do you mean by “up to date”? Are you looking for the quality of crysis, unreal, doom 3, hl2? I say this because I love all of the great websites advertising a “next gen” engine with hl1 graphics. Also, keep in mind that a big part of the visuals looking good is realted to the quality of artwork that goes into the game.

  • “game”-logic is already present in c# code

the C# part I have no clue about, “game logic” being pre-written however seems like a contradiction, because if that was the case you would be looking for a game engine, not a rendering engine. Of course, by “game logic”, I assume you mean things like AI and object tracking/world managers ect.

The biggest request is the reusability of the existing code.

You mean you want to use your code you’ve already written in your own engine in the new rendering engine? So long as your rendering code has stayed fairly seperated from your game code, this should not be a problem.

It is the goal to achieve better visuals (detailed objects) and higher performance displaying lots of 3D elements (up to 200.000, many might be occluded).

No… just… no

You will not find an engine anywhere which can render 200,000 seperate objects, much less an indie one. Can the engine keep track of 200,000 objects? Its possible but it would have to stream from the hard-disk. For one thing, just invision the CPU speed implications of that. Do you have any idea how long it takes for the computer to just do:
for (i = 0; i < 200000, i++)
{
//small operation
}
Now, it is possible to render 200,000 visually seperated (but not logically seperated) objects (ie pebbles on the ground)? Yes, but they need to either be part of a texture or built into a larger static mesh, and that is more an art challenge than anything. On top of all this, I can’t think of any game concept where renderig 200,000 objects would be neccessary.

As for some recommendations:
OGRE

http://www.ogre3d.org/about/features

Irrlicht (not sure how “up to date” it is but its REALLY easy to use, and modify I believe)

http://en.wikipedia.org/wiki/Irrlicht_Engine

Open Scene Graph (toolkit that has a lot of the culling and LOD techniques you described)

http://en.wikipedia.org/wiki/OpenSceneGraph

EDIT: I’ve been looking into irrlicht some more recently. Its not top-quality graphics, but for what its capable of, its really, REALLY easy… like… its rediculous. Getting an animated character on screen is like 20 lines of code.

A638aa42130293f319eda7fa4ba121f4
0
fireside 141 Jul 13, 2009 at 18:48

If you want c#, you’re going to have to make that your search priority in the engine database. Not that many engines use it, so that limits your choices by a large margin. C# is also slower than c++ so is contrary to your other goals and it doesn’t make a good scripting language because of it’s enormous size, so the entire engine is usually written with it. Also, looking for just a rendering engine is somewhat pointless since the other aspects of an engine don’t really take up that much memory. You should just look for an engine that best suits your other goals. Aside from built in physics, that would probably slow things down quite a bit. Added detail is usually done by using shaders and bump mapping more than with tons of poly’s anymore. I did a quick search and I think Horde3d would be a good choice since it is only a rendering engine and is very small and lists C# as a language.

EDIT: I’ve been looking into irrlicht some more recently. Its not top-quality graphics, but for what its capable of, its really, REALLY easy… like… its rediculous. Getting an animated character on screen is like 20 lines of code.

Does this mean you are going to finally admit that it isn’t just as easy to roll your own engine, starstutter?

A0c9c0649c5deacc0ae3b7f7721c94d2
0
starstutter 101 Jul 13, 2009 at 20:13

@fireside

Does this mean you are going to finally admit that it isn’t just as easy to roll your own engine, starstutter?

haha, I think you’ve got me confused with matt (where-ever he went =| ). But anyway, I’ve never said it was *easier* to create your own engine (and if I did I was misguided), but I did say it is more beneficial (imo, depending on what your goal is of course).

A638aa42130293f319eda7fa4ba121f4
0
fireside 141 Jul 13, 2009 at 21:09

Oh, that’s right, you did say that. Yeah, haven’t seen any of Matt’s posts for a while.

A8433b04cb41dd57113740b779f61acb
0
Reedbeta 167 Jul 13, 2009 at 21:21

:offtopic: I think he left the forum after that big thread about drug (ab)use in the lounge.

A0c9c0649c5deacc0ae3b7f7721c94d2
0
starstutter 101 Jul 13, 2009 at 22:02

@Reedbeta

:offtopic: I think he left the forum after that big thread about drug (ab)use in the lounge.

lol, actually I think he left for a long time, then came back, then saw the gigantic drug page, said to himself “omgwtfbbq” and left XD

EDIT: (off topic again) Ohhhh, I know what I said. I made some statements that writing your own engine made things easier in the long run because it gave you a better understanding of the internal workings of all other engines, therefore you could learn engines and debug them much quicker.