Am 17.03.2014 um 16:49 schrieb Yves Bailly <yves.bai...@sescoi.fr>:

> ...
> That was 100k ;-) and each is a different piece of mesh, so no instances. Its
> 100k instances of a *class*, not 100k instances of a *model* - each "class
> instance" containing its own model.

That's exactly where the already mentioned "multi draw" flavour comes into 
play, such as

  glMultiDrawArraysIndirect

The entire mesh data - of multiple meshes! -  is given in one huge array (so 
the number of objects you can draw "simultaneously" is really only limited by 
how much VRAM you can allocate), and the "indirect" part comes from the fact 
that you pass along an offset into the GL_DRAW_INDIRECT_BUFFER, which is an 
array of a struct, DrawArraysIndirectCommand, which eventually specifies the 
vertex count and offset etc. in the actual vertex array.

Unfortunately those "multi draw" flavours require OpenGL >= 4.3 (or 
extensions), and since this rules out Mac OS X (again, *sigh*) I must admit 
that my knowledge is of theoretical nature only ;)

> Now to be honest, that 100k number is quite extreme, the usual common case is
> around 5k-10k nowadays (but increasing with time).

Off course the above only helps if you would manage with reasonable effort to 
place all your (static?) mesh data into one huge vertex array (so I 
understand), which might or might not be feasible in your case.

Still, for me it sound a little bit like you decided to implement a text 
processor and someone really fond of "OO design" came up with the idea to model 
each character with its own class instance ;)

By the way, what kind of application are we talking about? GIS? Finite Elements 
simulation? I strongly assume the 100k elements is calculated data, no?

Cheers,
  Oliver
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to