我在使用线性过滤器的OpenGL 1.1上进行纹理渲染时遇到了问题:它在“0”和“8”上渲染了一些工件:
它在第一列像素上添加了一种阴影。
我尝试了所有GL_TEXTURE_WRAP_S / GL_TEXTURE_WRAP_T值但没有成功。 最近的过滤器没有显示工件:但它很难看(我不想使用这个过滤器)
字体纹理似乎没问题(我只是复制了部分内容并添加背景颜色以便理解):
You can download it here with the transparent background (#00000000)
混合似乎也可以:glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
答案 0 :(得分:2)
解决方案是使用预乘alpha。基本上,您需要在纹理中使用alpha预先乘以RGB。并使用glBlendFunc(GL_ONE,GL_ONE_MINUS_SRC_ALPHA);
这是一个很棒的视频,可以解释您的问题: