glBlendFunc和glClearColor alpha参数

Irb*_*bis 4 opengl glsl opengl-4

在OpenGL中,为了获得适当的透明效果,我应该使用glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)但是使用混合函数时,alpha参数glClearColor变得毫无意义.当我在I中更改alpha参数时glClearColor仍然可以获得相同的效果.我什么时候可以使用alpha参数glClearColor?我能达到什么样的效果?

dat*_*olf 10

glClearColor设置RGBA帧缓冲区的颜色(和alpha值)将被清除glClear(GL_COLOR_BUFFER_BIT).帧缓冲区alpha值将与GL_DST_ALPHAGL_ONE_MINUS_DST_ALPHA混合函数一起考虑.

但是,您的常规屏幕窗口帧缓冲区通常不带有alpha值.当然存在值得注意的例外,例如透明窗口背景透过,但它们设置起来有点乏味,并且即使在"透明"区域之外仍会接收所有鼠标事件.

具有alpha通道的帧缓冲器主要用于渲染纹理目标.

所以在你的情况下,清晰的颜色对你没有特别的兴趣.你更有可能对glColor4falpha通道的第4个参数或纹理感兴趣.