openGL之颜色混合

1. 颜色混合

颜色混合就是两种或者多种透明度不为1的颜色混合在一起会产生一种新的颜色,这个过程就是颜色混合。

在渲染过程中,颜色都是存放到颜色缓冲区中,两个重叠的图层,在同一个点存储到颜色缓冲区中的颜色只是最上层图层的颜色值。但是如果重叠的图层上面的图层是半透明的,这时就需要将这两个图层的颜色进行混合。

什么时候使用颜色混合

大前提:不能开启深度测试,如果开启了深度测试,那么颜色混合就会以深度为基础进行渲染。也就是说开启深度测试然后在开启颜色混合会发生问题,例如:有两个正方形A、B,A的深度为2、颜色不透明 1、最后绘制;B的深度是1、颜色透明 0.5、先绘制,结果是没有进行颜色混合。 如果AB的深度值置换一下就会混合了;如果AB的绘制顺序置换一下也会混合。(具体怎么造成的暂不清楚)
在这里插入图片描述

固定着色器

两个图层重叠,且最上面图层的透明度不为1,就会进行颜色混合。

可编程着色器

在片元着色器中,处理某个图层上颜色,比如:在A图层上涂上一层薄薄的橘色,就会进行颜色混合。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值