opengl基础学习<二> ----混合因子

混合因子


混合因子的公式是Cf = (Cs*S) + (Cd * D)


Cf是最终产生的颜色,Cs是目标颜色,就是你正在绘制的颜色,Cd是目标颜色,就是你要混合(叠加)的那个颜色

S和D分别为混合因子


用一个例子来表示就是

GLfloat vMycolor[] = { 0.5f, 0.5f, 0.0f, 1.0f };//源颜色

GLfloat vRed[] = { 1.0f, 0.0f, 0.0f, 1.0f }; //目标颜色


glBlendFunc(GL_ONE, GL_SRC_COLOR);


GL_ONE的混合因子是(1, 1, 1, 1)

GL_SRC_COLOR的混合因子是(Rs,Gs,Bs, As) 

Rs,Gs,Bs,As表示的是源颜色的值,在这里就是0.5, 0.5 , 0, 1(注:是未乘于混合因子之前的色值)

Cs * S 就是 {0.5f * 1, 0.5f * 1, 0.0f * 1, 1.0f *1} = {0.5f, 0.5f, 0.0f, 1.0f}

Cd * D 就是{1.0 * 0.5f, 0.0f * 0.5f, 0.0f * 0.0f, 1.0f * 1.0f} = {0.5f, 0.0f, 0.0f, 1.0f}

最终的Cf = {0.5f + 0.5f, 0.5f + 0.0f, 0.0f + 0.0f , 1.0f + 1.0f}

因为色值的范围是0 - 1,所以最后的色值 = {1.0f, 0.5f, 0.0f, 1.0f}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值