我已经苦恼了一段时间。当我使用OpenGL渲染2D纹理时,这些纹理在不透明和半透明之间的过渡处有透明度值,会出现一些令人讨厌的灰色像素,我认为这是像素值插值的产物。您有什么好的改进方法吗?
我附上一张图片来说明我的问题: 虽然我认为这不会有任何区别,但我正在使用Qt创建QGLWidget和C++。
解决方案: 我一直在尝试解决这个问题。我尝试使用带有预乘alpha通道的图像,为颜色和alpha使用单独的混合函数...对我来说没有什么效果,我可能做错了,我不知道。对我而言,有效的方法是在Adobe Illustrator上导出带有反锯齿的png图像,使用glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)。
希望这能帮助其他遇到同样问题的人 :)
再次感谢您的回答。
我附上一张图片来说明我的问题: 虽然我认为这不会有任何区别,但我正在使用Qt创建QGLWidget和C++。
解决方案: 我一直在尝试解决这个问题。我尝试使用带有预乘alpha通道的图像,为颜色和alpha使用单独的混合函数...对我来说没有什么效果,我可能做错了,我不知道。对我而言,有效的方法是在Adobe Illustrator上导出带有反锯齿的png图像,使用glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)。
希望这能帮助其他遇到同样问题的人 :)
再次感谢您的回答。