Maximum vertex array size

Is there a maximum size for vertex arrays?
If so, is there an OpenGL function that returns it? I have looked at all the documentation but cannot find anything.

I’m asking this because the maximum number of vertices I ssem able to render is about 2500, and this number decreases further if colour and/or normal arrays are also enabled. If I exceed this number I get an error in the driver library.


What graphics card are you using? 2,500 sounds awfully low - perhaps there is something else going on here.

I’m using a Radeon 7500 (old, but not that ancient!) with 64mb.

Yeah, I thought 2500 was low too, but for the life of me I can’t think of a good explanation. I’m not using any stride in my arrays, and I’m using a single call to glDrawElements to render.

Also, if anyone knows of an example using ATI_ARRAY_OBJECT I’d be very grateful, I can’t make that work at all!

Thanks in advance.

Are you sure that you calculated the size of your arrays (vertex, color, normal) correctly. I came up with a similar problem you had, and I found that after 370 verticies glDrawElements would crash. It took me a long time to determine that the sizes of my arrays were calculated wrong.

For a quick error detection, make all your arrays, (vertex, color and normal) larger than you need and see if the maximum is still 2500.

Oh ya, also check your index array to see if it tries to index a vertex higher then vertex 2500.

Hope this helps.

it sounds like a problem with your code
btw for a gf/tnt for optimal speed 4096 verts indices (or less) is recommended, u can use more but performance will not be optimzal

Thanks for the help guys! it probably is a problem with my code somewhere, guess I’ll just have to keep fiddling with it.