Java - глюк экрана LWJGL

1

Я возился с библиотекой LWJGL и пытался отобразить экран, он отображает все в любом смысле, кроме как сбой экрана, как показано ниже. Этот сбой происходит каждый раз, когда я показываю экран. Я включил только lwjgl.jar в качестве справочной библиотеки и связал ее с папкой "linux". Я запускаю Ubuntu 13.10 OS и установил "freeglut" для opengl.

Изображение 174551

Вот код, который я использую для отображения экрана.

public Main()
{
    try
    {
        Display.setDisplayMode(new DisplayMode(640, 480));
        Display.create();
    }
    catch(LWJGLException ex)
    {
        Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
    }

    while(!Display.isCloseRequested())
    {
        Display.update();
        Display.sync(60);
    }

    Display.destroy();
}

Может ли кто-нибудь сказать мне, что вызывает эту проблему?

Теги:
opengl
lwjgl
ubuntu-13.10

2 ответа

2
Лучший ответ

Вы должны очистить буфер цветов каждое обновление:

glClearColor(0f, 0f, 0f, 0f);
glClear(GL_COLOR_BUFFER_BIT);

EDIT: Чтобы уточнить: цветной буфер (и буфер глубины, если вы работаете с 3D) ДОЛЖЕН БЫТЬ УБЫТЬ каждый кадр перед обновлением Дисплея. Если он не очищен, он будет заполнен случайными данными (отсюда и checkerboarding и foobar.)

1

Сбросьте экран перед отображением Display.update();

Используйте glClear (GL_COLOUR_BUFFER_BIT); для очистки цветового буфера. Если вы используете буфер глубины, вы также можете установить его в GL_COLOUR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT. Вы можете использовать glClearColour() для установки цвета, который будет очищаться на экране, при этом 3 входа будут красными, зелеными и синими, а последний будет альфа-цветом (не нужно, просто установите 1, если вам нужно).

Примечание. Я английский. Замените цвет цветом.

Ещё вопросы

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