Предел размера OpenLG displayList - PullRequest
5 голосов
/ 12 февраля 2009

Кто-нибудь знает, может ли слишком большое количество вызовов OpenGL в списке отображения вызвать его сбой? Если да, есть ли у кого-нибудь оценка того, сколько звонков может сделать это? Это связано с видеопамятью?

Я звоню в OpenGL из JOGL, но я не думаю, что это важно.

1 Ответ

4 голосов
/ 13 февраля 2009

Согласно этой странице документации , если вы попытаетесь составить слишком большой список, вы должны получить сообщение об ошибке GL_OUT_OF_MEMORY.
убедитесь, что вы вызываете glGetError() до и после создания списка и обработки всех результатов, пока не будет возвращено GL_NO_ERROR.

Кажется, нет способа оценить количество команд, которые может содержать список. Вероятно, это связано с тем, что каждая команда имеет разный размер в зависимости от аргументов и используемой кодировки конкретного устройства. Списки хранятся в видеопамяти карты, поэтому, если вы используете относительно не архаичную карту, это обычно не должно быть проблемой для списков разумного размера. Если вы обнаружите, что это действительно проблема, вы, вероятно, можете использовать массивы Vertex или даже VBO

...