Skip to main content
7 events
when toggle format what by license comment
Mar 13, 2012 at 14:58 comment added Luke The chosen answer and the comments here seem to agree with my last point: stackoverflow.com/questions/6475418/…
Mar 13, 2012 at 14:56 comment added Luke I don't think this is it. I've narrowed the problem down to a simpler test case, which is simply rendering 4 million textures. When I draw them all in one glDrawElements call I get 19 FPS. When I split it up into chunks of 750k indexed by an int, it drops to 17 FPS, when I split it up into chunks of 32k indexed by a short it drops to 11 FPS. I also tried 32k chunks indexed by an int, it's still 11 FPS. I believe the limits are for internal performance optimization of glDrawRangeElements only and performance reverts to that of glDrawElements if the conditions are not met.
Mar 13, 2012 at 11:09 comment added Maximus Minimus Yup, I've noted it, and have also noted that both glDrawElements and glDrawRangeElements predate hardware T&L. Bottom line is that if a limit exists in hardware then the spec can say that the moon is a blue cube for all it matters, and this is a limit that exists in hardware.
Mar 13, 2012 at 3:39 comment added Nicol Bolas Note that MAX_ELEMENTS_VERTICES and MAX_ELEMENTS_INDICES are for glDraw<b>Range</b>Elements. It has nothing to do with glDrawElements.
Mar 12, 2012 at 20:35 comment added Maximus Minimus You could get away with the indexes and just set new array pointers with different offsets.
Mar 12, 2012 at 19:49 comment added Luke I pulled the values of GL_MAX_ELEMENTS_VERTICES and GL_MAX_ELEMENTS_INDICES, and they are both 1,048,576. This would seem to agree with your hunch. Are you saying that I need to break my vertex array buffers (GL.GL_ARRAY_BUFFER) up into smaller chunks or just my index array buffers(GL.GL_ELEMENT_ARRAY_BUFFER)? If I had to break both up into smaller chunks, that would be nightmarish for my current application...
Mar 12, 2012 at 19:07 history answered Maximus Minimus CC BY-SA 3.0