2012-05-14 2 views
0

Я инициализация OpenGL в моем lwgjl приложения таким образом:LWGJL. Графика мигающая

glEnable(GL_TEXTURE_2D) 
glMatrixMode(GL_PROJECTION) 
glLoadIdentity() 
glOrtho(0, displayWidth, 0, displayHeight, -1, 1) 
glMatrixMode(GL_MODELVIEW) 
glClearColor(clearColor.r, clearColor.g, clearColor.b, clearColor.a) 

Когда я рисую текст с помощью slick библиотеки и UnicodeFont или AngelCodeFont (по font.drawString(...)). Текст рисуется (переворачивается vecrtical), но другое изображение, которое находится за текстом, мигает.

Как избежать мигания и нарисовать текст правильно? Может быть, что-то не так с инициализацией OpenGL? Я также попробовал glDisable(GL_LIGHTING) и glEnable(GL_BLEND) с glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA). Ничего не изменилось. :(

+0

Вы используете двойную буферизацию –

+0

Да, я призываю дисплей. update() для этого. –

ответ

0

решаемые Следующий код работает для меня:

Init OpenGL:

glDisable(GL_DEPTH_TEST) 
    glDisable(GL_LIGHTING) 

    glEnable(GL_BLEND) 
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) 

Draw текст:

glEnable(GL_TEXTURE_2D) 
    font.drawString(x, y, text, color) 
    glDisable(GL_TEXTURE_2D) 
Смежные вопросы