有谁知道将太多 OpenGL 调用放入显示列表是否会导致它失败?如果是这样,有没有人估计有多少电话可以做到这一点?跟显存有关系吗?
我从 JOGL 调用 OpenGL,但我认为这并不重要。
根据此文档页面,如果您尝试编译一个太大的列表,您应该会收到一条GL_OUT_OF_MEMORY
错误消息。
确保glGetError()
在创建列表之前和之后调用并处理所有结果,直到GL_NO_ERROR
返回。
似乎没有办法估计列表可以包含的命令数量。这可能是因为每个命令的大小取决于其参数和使用的设备特定编码。这些列表保存在卡的视频内存中,因此如果您使用的是相对非过时的卡,这对于任何大小合理的列表通常都不是问题。如果您确实发现这确实是问题,您可能可以使用顶点数组甚至 VBO