OpenGL正常混合黑色alpha边缘

时间:2014-05-31 21:57:47

标签: opengl colors shader fragment-shader alphablending

我在混合文字时遇到问题。它不仅是文本问题,而是具有alpha值的全局混合问题。

我在图像上尝试了2种不同的混合功能(文字也是图像)。函数glBlend具有不同的第一个参数。 (我知道glBlend func是如何工作的)

Blend samples

文本周围有黑色像素,并且每个alpha图像周围都有光滑的alpha边缘。文字似乎不太好看:/

参数GL_ONE的结果正是我想要的,但我无法使用alpha值进行文本淡化。

所以问题是:

有没有办法如何使用图像的源alpha值从GL_ONE参数获取结果?

使用此参数,图像的源alpha不会被使用,因此它不能透明。我想像这样动画图像:

enter image description here

我需要使用GL_SRC_ALPHA函数,因为我需要使用源alpha。我尝试使用片段着色器增加颜色值,因此结果类似于GL_ONE混合,但我不想更改原始颜色。

有任何帮助吗?感谢。

编辑:有一个带混合功能的页面,你可以尝试一下,更好地理解我的意思:

http://www.andersriggelsen.dk/glblendfunc.php

0 个答案:

没有答案