LWJGL Прозрачность
Я пытаюсь использовать прозрачность LWJGL с помощью команды:
// Enable transparency
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
И прозрачность работает, просто фон нарисован так:
// Draw Background
glColor4f(1f, 1f, 1f, 1f);
glPushMatrix();
glBegin(GL_QUADS);
glVertex2f(0, 0);
glVertex2f(width, 0);
glVertex2f(width, height);
glVertex2f(0, height);
glEnd();
glPopMatrix();
Не показывает. Я использую LWJGL 2.8.2, Eclipse Indigo, и любая помощь будет признательна!
2 ответа
Я не уверен, является ли это лучшим решением, но способ получить прозрачный и непрозрачный контент будет деактивировать / активировать GL_BLEND перед рисованием, например так:
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
drawTransparentContent();
glDisable(GL_BLEND);
drawNonTransparentContent();
Это сработало для меня.
При рендеринге прозрачных вещей вы должны рендерить все в обратном порядке. Поэтому убедитесь, что вы рендеринг фона в первую очередь.
Когда вы визуализируете нетекстурированные вершины, рекомендуется использовать glDisable(GL_TEXTURE_2D) . Это должно исправить это, если ur отображает вещи в правильном порядке