Page 1 of 1

A model with 1 million Objects

Posted: Sun Jan 29, 2006 2:43 am
by YALNIZLIGIN-RENGI
Why can't irrlicht draw a big Model (obj-file) about 1 million triangles. Has irrlicht an maximum limit?

Posted: Sun Jan 29, 2006 2:51 am
by Conquistador
Irrlicht uses 16 bit vertex indices, give it a max of about 65,000 or so polys (or verts? Can't remember..)

Posted: Sun Jan 29, 2006 3:31 am
by YALNIZLIGIN-RENGI
What? Is that really true? What a pity! We wanted to use Irrlicht for a large project. It concerns a software which tunnel, landscape, and geological procurementnesses 3D visualisations.

Posted: Sun Jan 29, 2006 4:36 am
by jam
Then try out Spintz's modified irrlicht version

IrrSpintz

It uses 32bit indices

Posted: Sun Jan 29, 2006 5:20 am
by bitplane
yeah and it also has hardware mesh buffers. i did a test with about a million triangles (different meshes) and it worked a charm.

Posted: Sun Jan 29, 2006 11:16 pm
by YALNIZLIGIN-RENGI
Ok? I can take IrrSpintz. But what about picking and collision detection with a model about 1 million triangles. What is framerate max. framerate with large models? Are there other problems?
I know that the is never warranty with OpenSource. Had anyone other problems with with large models. I'm also testing Coin3D and it hadn't any problems with large models.
I have not enough knowledge of Irrlicht API, but I think it isn't an hardware problem. I tested the same model on same mashine with Coin3D and it worked.
Please, can one of the Irrlicht developer give me a plausible answer.
Other remarks are also welcome.
Thanks

Posted: Mon Jan 30, 2006 7:30 am
by bitplane
Irrlicht's collision detection is not a full featured collision engine, and only of use for very simple stuff, you should use a real physics engine for complex collision (irrlicht is a graphics engine). Do you really *need* collision detection on a million triangle mesh? Sounds like a waste of valuable computrons to me. If I were using such big meshes I'd be thinking about using an invisible layer of simple geometry for collision.
There is no "maximum framerate", its all down to how efficiently you write your code, Coin3d probably uses 32-bit indices and hardware mesh buffers just like irrSpintz does.

Posted: Mon Jan 30, 2006 6:01 pm
by pfo
But what about picking and collision detection with a model about 1 million triangles. What is framerate max. framerate with large models? Are there other problems?
Consider this: have you seen any games or applications that run on consumer computer hardware sporting million triangle meshes? If so, probably not many, and these are probably in the 'high end 3d' section. The point is that its difficult. If it wasn't, then every game would feature it (why not?).

I think you could do what you want, I think Irrlicht could handle it, but you might have to be clever about how you go about it. Definetely go for 32 bit indices, and look into splitting the million-triangle-model into smaller model sections. Compact textures into smaller spaces and use as few as possible. The best you can find out is by making a simple demonstration for yourself. Good luck!

Posted: Mon Jan 30, 2006 8:56 pm
by Guest
Do the hardware vertex buffesr in irrspintz offer any general performance improvements for all applications? Can it be used without 32 bit indices?

Posted: Tue Jan 31, 2006 12:06 am
by Spintz
IrrSpintz's current Vertex formats only support 32 bit incies. Just as Irrlicht only supports 16 bit indices. This is the next feature I plan to add to IrrSpintz, it will help out memory consumption a lot, to only use 32 bit indices for meshes with over 65536 indices. Which normally isn't many, but if you use models that are your size, you'll always need 32 bit indices, so IrrSpintz would work for you.

And yes, hardware buffers, have a HUGE impact on performance, more so in OpenGL than DirectX, as DirectX will manage vertex buffers for you automatically, with the HARDWARE_VERTEX_PROCESSING being the default mode the DirectX driver is created with.

Posted: Tue Jan 31, 2006 3:03 pm
by YALNIZLIGIN-RENGI
@Spintz:
Thx for the detailed informations.

@pfo:
I know that I can split the objects in several models. But how can I then pick a set of objects in different models?

Posted: Tue Jan 31, 2006 6:32 pm
by pfo
But how can I then pick a set of objects in different models?
It would depend on why you need to pick them, surely their is some data strcture that could accomodate that?

Is irrlicht planing on changing from 16 bit to 32 bit an

Posted: Tue Jan 31, 2006 9:33 pm
by Guest
is irrlicht planning on changing from 16 bits to 32 bits any time soon? How different is the modified version of irrlicht to our curren version????