有人知道在显示列表中放入过多的OpenGL调用会导致显示失败吗?如果是这样的话,有没有人估计有多少电话可以做到这一点呢?它与视频内存有关吗?
我从JOGL调用OpenGL,但我认为这并不重要。
发布于 2009-02-12 21:20:32
根据这个documentation page,如果你试图编译一个太大的列表,你会得到一条GL_OUT_OF_MEMORY错误消息。
确保在创建列表之前和之后调用glGetError(),并处理所有结果,直到返回GL_NO_ERROR。
似乎没有一种方法可以估计列表可以包含的命令数量。这可能是因为每个命令都采用不同的大小,这取决于它的参数和所使用的设备特定编码。列表保存在显卡的显存中,因此,如果您使用的是相对非旧式的卡,那么对于任何大小合理的列表来说,这通常都不是问题。如果您确实发现这确实是问题所在,那么您可以使用顶点数组甚至VBO
https://stackoverflow.com/questions/543168
复制相似问题