LWJGL - не работают списки отображения

1

Я хочу сделать некоторые сетки в LWJGL. Когда я использую метод по умолчанию для рендеринга объектов (glVertex3f и т.д.), Проблем нет. Но когда я хочу отображать объекты с помощью списков отображения, экран будет emty. Я использую тот же код для инициализации списка отображения, который я использую для рендеринга по умолчанию.

glViewport(0, 0, getWidth(), getHeight());
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0f, getHeight() / getHeight(), 1.0f, 1000.0f);
glMatrixMode(GL_MODELVIEW);
glEnable(GL_DEPTH_TEST);
glLoadIdentity();
//...
this.displayList = glGenLists(1);
//...
glNewList(displayList, GL_COMPILE);
//[same code I use for the default rendering way]
GL11.glEndList();
//...
glCallList(displayList);

Я понятия не имею, почему это не работает

Есть ли что-нибудь, о чем я должен заботиться при работе со списками отображения?

  • 0
    Я предполагаю, что вы вызвали glEndList() где-то в этом ...
Теги:
opengl
lwjgl

1 ответ

0

Похоже, вам не хватает вызова glEndList(). Вам нужно позвонить, после того как вы закончили рендеринг всего, что вы хотите, в списке отображения, и перед вызовом glCallList().

  • 0
    Извините, это была ошибка записи. Я имел в виду GL11.glEndList (); вместо GL11.glEnd (); Но все равно спасибо за помощь!
  • 0
    Ах, тогда это не так просто. Какие команды рендеринга вы используете? См. Opengl.org/sdk/docs/man2/xhtml/glNewList.xml для получения списка вызовов, которые не поддерживаются в списках отображения. И я знаю, что это не ответ, но так как это теперь я комментирую, я все равно скажу: просто скажите «нет» для отображения списков. Они устарели как минимум 15 лет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню