I would like to know how many display list can we create? If let say I have 100000 object and I would like to create 100000 display list, is it ok? Is there a way to get the max display list number available? Thanks.
AFAIK there is no limit other than the available VRAM.
After that the driver may even swap them in and out of user RAM also, but I am not sure on that. So there is not really a limit as such…
Of course there may be a numeric limit based on the amount of handles that can be returned for display lists, so perhaps the limit will be 65535 or the limit of an int value…
Ahh… Here you go…
There isn’t a limit based on the OpenGL spec. Because a display list ID is a GLuint, 2^32 display list identifiers are available. A more practical limit to go by is system memory resources.
Out of interest, why would you want to do this?
I can’t imagine that much unique content, or the overhead involved in creating those lists and managing them…
Perhaps Buffer Objects and some re-use of data might be a better approach?
Thanks for the reply. Vertex buffer object will be a good choice but not every PC support this extension especially those using the Intel’s so-called on-board graphic card.
most pc’s do support VBO, even intel.
Especially if you plan on doing 100000 objects, any gpu that doesn’t support VBO might be to weak to support that.
I think it has more to do with the opengl version rather than the HW.
Intel supports GL 1.4 from what I’ve seen and they support the VBO extension as GL_ARB_vertex_buffer_object. This is on Windows.
On Linux, it is different. You get GL 2.1.
Sorry to tell you this but if you are aiming for Windows and Intel, go for Direct3D. Intel’s GL drivers are weak.