не вызывая Display.update () вызывает сбой программы - PullRequest
0 голосов
/ 14 июля 2011

Я пишу 3D-редактор для игры в opengl с использованием LWJGL.Я хочу, чтобы редактор отображал только тогда, когда мне это нужно.Однако если вы выполняете рендеринг только один раз и продолжаете вызывать Dislplay.update(), изображение глючит, и если вы вызываете Dislplay.update() только изредка, а не в цикле while, программа перестает отвечать, и Windows отключает его.Кто-нибудь знает, почему это или обходной путь для этого?

1 Ответ

0 голосов
/ 14 июля 2011

Я сам разобрался, немного поиграв. Каждый раз, когда вы обновляете отображение, он меняет местами буферы, поэтому либо вручную меняйте местами буферы при каждом втором обновлении, чтобы он продолжал использовать один и тот же буфер, либо рендеринг дважды; один раз для каждого буфера.
Например, если у вас есть метод render () для рендеринга вашего изображения, вы должны сделать это:

render();
Display.swapBuffers();
render();

и тогда вы обновите дисплей в обычном режиме.

...