PDA

View Full Version : limits of VBO index array length/ geometry cutted / bug ?



DJSnow
01-01-2004, 06:33 AM
hi everyone.

are there any limits on VBO and its index array lengths ?!
i recently switched our implementation from standard vertex arrays to VBO - but now it seems that our geometry is "cutted" away; there is really something missing - although everything has been loaded on the card.
but witht the "standard" path, this means normal vertex arrays, everything looks fine.

my first thought was that the graphiccard don't support index sizes above 2 bytes ?!

i'm on nvidia 52.16 @ gfx2mx-32mb.


edit:
the scene in complete issomething around 55k tri's, divided in several smaller arrays.

[This message has been edited by DJSnow (edited 01-01-2004).]

Csiki
01-01-2004, 07:43 AM
Originally posted by DJSnow:
hi everyone.

are there any limits on VBO and its index array lengths ?!
i recently switched our implementation from standard vertex arrays to VBO - but now it seems that our geometry is "cutted" away; there is really something missing - although everything has been loaded on the card.
but witht the "standard" path, this means normal vertex arrays, everything looks fine.

my first thought was that the graphiccard don't support index sizes above 2 bytes ?!

i'm on nvidia 52.16 @ gfx2mx-32mb.


edit:
the scene in complete issomething around 55k tri's, divided in several smaller arrays.

[This message has been edited by DJSnow (edited 01-01-2004).]

Yes.
See glinfo at www.delphi3d.net (http://www.delphi3d.net)

Hampel
01-05-2004, 08:02 AM
I've got the same problem on a gf2mx and a gf4go (for all drivers tested). I haven't found an upper limit for indices mentioned in the VBO spec!?!?

DJSnow
01-05-2004, 11:34 AM
@hampel:
>>I haven't found an upper limit for
>>indices mentioned in the VBO spec!?!?
yes, the same for me - and: the tool, mentioned by Csiki, doesn't help me too.
/edit:
mmmh...you said "you had the same problem" - i read it over, in my first post.
how did you solve it ?? do you have switched from indexed arrays to linear's one ???
i really need this to get it up and running...

@Csiki:
please tell me, what i should discover by using this tool ?
i started it on my working machine, and in the area of "extension specific" there were only things listed regarding to ARB/NV vertex program, fragment program and occlusion query - but, no details about a potential limit of VBO on my target gfx card (gf2mx).

has anyone else a small hint, perhaps ??

[This message has been edited by DJSnow (edited 01-05-2004).]

Csiki
01-05-2004, 12:08 PM
Originally posted by DJSnow:
@hampel:
>>I haven't found an upper limit for
>>indices mentioned in the VBO spec!?!?
yes, the same for me - and: the tool, mentioned by Csiki, doesn't help me too.
/edit:
mmmh...you said "you had the same problem" - i read it over, in my first post.
how did you solve it ?? do you have switched from indexed arrays to linear's one ???
i really need this to get it up and running...

@Csiki:
please tell me, what i should discover by using this tool ?
i started it on my working machine, and in the area of "extension specific" there were only things listed regarding to ARB/NV vertex program, fragment program and occlusion query - but, no details about a potential limit of VBO on my target gfx card (gf2mx).

has anyone else a small hint, perhaps ??

[This message has been edited by DJSnow (edited 01-05-2004).]

You can expect the same limits as the NV_vertex_array_range have.

DJSnow
01-05-2004, 12:09 PM
@Csiki:

/edit:
wrong alert.

i've found it; actually: it is there, but it has only one text line and on 1280x1024 you are going to overread this easily.
it says: "max var size: 65535".
but: i'm using several buffer objects ?!



[This message has been edited by DJSnow (edited 01-05-2004).]

Hampel
01-05-2004, 11:15 PM
@DJSnow: I've solved it by using several vertex buffers with less than 2^16 vertices, each with its own index buffer.

@Csiki: If there is no upper limit mentioned in the VBO specs, than the driver has to handle all sizes of vertex and index buffers (and if it only switches back to standard vertex array behavior, which is functioning very well)! You cannot querry for a NV or ATI specific limitation, since VBO is an ARB extension.

mcraighead
01-06-2004, 09:53 AM
Originally posted by Hampel:
@Csiki: If there is no upper limit mentioned in the VBO specs, than the driver has to handle all sizes of vertex and index buffers

This is correct. It is the driver's responsibility to handle indices above the hardware's limit correctly.

You can assist the driver quite a bit here by using DrawRangeElements instead of DrawElements.

- Matt

Hampel
01-06-2004, 11:16 PM
But then the Nvidia drivers (up to at least 53.03) are buggy for gf2mx and gf4go, aren't them?

Csiki
01-07-2004, 12:41 AM
Originally posted by mcraighead:
This is correct. It is the driver's responsibility to handle indices above the hardware's limit correctly.

And ofcourse you can expect some performance decrease because of this.
So VBO spec. says you can do anything, but in reality it's not a clever thing to left to the driver everything (you have more chance to optimize such cases better).

DJSnow
01-16-2004, 07:39 AM
ok,
i tried with a mesh of 15k, without indices, but again the same error http://www.opengl.org/discussion_boards/ubb/frown.gif

perhaps any other idea ?

DJSnow
01-22-2004, 02:51 AM
i think i will go out and buy a new graphic card; i hope i can enclose this problem a little bit more by doing this...
i will update this thread - stay tunded.