1

OpenGL でブレンディングに問題があります (アンチエイリアシングまたはテクスチャ ペイントの結果として)。問題の図を参照してください:

問題図

次のセットアップコードがあります

// 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);

この問題の解決策を教えてください。

4

1 に答える 1

6

OpenGLは線形RGB色空間に溶け込みますが、モニターは線形ではありません。これにより、背景が明るいか暗いかに応じて、見かけのアルファが変化します。GL_EXT_framebuffer_sRGB拡張機能を使用してみてください。

于 2011-10-10T09:53:49.560 に答える