在字符上的字体纹理上的文物

时间:2013-10-08 14:46:13

标签: opengl fonts rendering artifacts

我在使用线性过滤器的OpenGL 1.1上进行纹理渲染时遇到了问题:它在“0”和“8”上渲染了一些工件:

Artifacts font rendering download it for zooming

它在第一列像素上添加了一种阴影。

我尝试了所有GL_TEXTURE_WRAP_S / GL_TEXTURE_WRAP_T值但没有成功。 最近的过滤器没有显示工件:但它很难看(我不想使用这个过滤器)

字体纹理似乎没问题(我只是复制了部分内容并添加背景颜色以便理解):Font texture

You can download it here with the transparent background (#00000000)

混合似乎也可以:glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

1 个答案:

答案 0 :(得分:2)

解决方案是使用预乘alpha。基本上,您需要在纹理中使用alpha预先乘以RGB。并使用glBlendFunc(GL_ONE,GL_ONE_MINUS_SRC_ALPHA);

这是一个很棒的视频,可以解释您的问题:

http://www.youtube.com/watch?v=dU9AXzCabiM