Плохое (непривлекательное) смешивание в OpenGL с яркими фигурами на темном фоне - PullRequest
1 голос
/ 10 октября 2011

У меня проблемы в OpenGL со смешиванием (из-за сглаживания или текстурированной окраски).См. Иллюстрацию проблемы:

Problem illustration

У меня есть следующий код установки

// Antialiasing
glEnable(GL_POINT_SMOOTH);
glEnable(GL_LINE_SMOOTH);
// Blending
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
// Texture font
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);

Пожалуйста, укажите мне решение этой проблемы.

1 Ответ

6 голосов
/ 10 октября 2011

OpenGL смешивается в линейном цветовом пространстве RGB, но ваш монитор не является линейным.Это приводит к тому, что видимая альфа изменяется в зависимости от того, является ли фон светлым или темным.Попробуйте использовать расширение GL_EXT_framebuffer_sRGB.

...