OpenGL中颜色、alpha及混合的理解

      如果启用了混合,alpha值常常用于把被处理片断的颜色值与已经存储在帧缓冲区中的像素的颜色值进行混合。alpha值可以用于alpha测试,根据片断的alpha值决定接受或拒绝它(混合出现在场景进行光栅化并转换为片断之后,但在最终的像素被绘制到帧缓冲区之前)。

 

      如果不使用混合,每个新片断将改写帧缓冲区中已经存在的颜色值,就像该片断是不透明的那样。如果使用了混合,可以控制原来的颜色值如何与新片断的颜色值进行混合。因此,可以使用alpha混合来创建半透明的片断,仍然保留一些原告存储的颜色值。alpha混合是诸如透明化、数字合成、油漆这类技巧的核心。

     

      对于混合操作,最自然的思考方式是把片断的RGB成分看成是它的颜色,把alpha成分看成是它的透明度。透明和半透明表面的不透明性要低于不透明表面,也就是它们的alpha值要低于不透明表面的alpha值。例如,如果透过绿色玻璃观察一个物体,所看到的颜色部分来自玻璃地绿色,部分来自物体的颜色。这两种颜色所占的比例取决于玻璃的传播属性:如果玻璃传播撞击它的光线的80%(即不透明度为20%),所看到的颜色是玻璃颜色的20%加上玻璃后面那个物体的颜色的80%的组合。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值