我一直试图在glBlendFunc的内部工作背后找到一些具体的数学。
为了澄清,我知道混合方程是:
srcChannels * srcFactor + dstChannels * dstFactor = channelsRendered。
我的问题是,srcChannels,dstChannels和channelsRendered 3-vector(r,g,b)还是4-vector(r,g,b,a)?
因为(0.2,0.2,0.2,1.0)和(1.0,1.0,1.0,0.2)应该看起来相同,这里可能存在歧义的空间。
答案 0 :(得分:1)
glBlendFunc
适用于所有四个频道; glBlendFuncSeparate
将RGB与alpha分开。
glBlendFunc reference page描述了所有不同的混合模式以及应用于不同通道的操作。 glBlendFuncSeparate执行相同的操作,包括Alpha通道上的操作。