Я возился с библиотекой LWJGL и пытался отобразить экран, он отображает все в любом смысле, кроме как сбой экрана, как показано ниже. Этот сбой происходит каждый раз, когда я показываю экран. Я включил только lwjgl.jar в качестве справочной библиотеки и связал ее с папкой "linux". Я запускаю Ubuntu 13.10 OS и установил "freeglut" для opengl.
Вот код, который я использую для отображения экрана.
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();
}
Может ли кто-нибудь сказать мне, что вызывает эту проблему?
Вы должны очистить буфер цветов каждое обновление:
glClearColor(0f, 0f, 0f, 0f);
glClear(GL_COLOR_BUFFER_BIT);
EDIT: Чтобы уточнить: цветной буфер (и буфер глубины, если вы работаете с 3D) ДОЛЖЕН БЫТЬ УБЫТЬ каждый кадр перед обновлением Дисплея. Если он не очищен, он будет заполнен случайными данными (отсюда и checkerboarding и foobar.)
Сбросьте экран перед отображением Display.update();
Используйте glClear (GL_COLOUR_BUFFER_BIT); для очистки цветового буфера. Если вы используете буфер глубины, вы также можете установить его в GL_COLOUR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT. Вы можете использовать glClearColour() для установки цвета, который будет очищаться на экране, при этом 3 входа будут красными, зелеными и синими, а последний будет альфа-цветом (не нужно, просто установите 1, если вам нужно).
Примечание. Я английский. Замените цвет цветом.