我正在制作游戏引擎,并且最近才将其更新为核心配置文件OpenGL。在这样做之后,我发现不推荐使用我用于字体纹理的GL_LUMINANCE_ALPHA。用GL_RG替换后,我的区域应为alpha红色,区域应为白绿色!
这当然不是我想要的!有没有什么办法可以将这种模式重新调整到我想要的状态?
答案 0 :(得分:3)
好的,我找到了答案,只是愚弄了混合模板值,这就是我将它恢复正常的方法:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_R, GL_RED);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_G, GL_RED);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_B, GL_RED);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_A, GL_GREEN);
这使它看起来完全正常了!
答案 1 :(得分:0)
如果您使用着色器,则将GL_LUMINANCE_ALPHA
更改为GL_RG
时将使用以下操作:
rgba = texture(sampler, TextCoord)
然后而不是
rgb.a
你做
rgb.g
我猜