osg::BlendFunc

原创 2007年09月12日 15:01:00

osg::BlendFunc介绍

      混合是什么呢?混合就是把两种颜色混在一起。具体一点,就是把某一像素位置原来的颜色和将要画上去的颜色,通过某种方式混在一起,从而实现特殊的效果。
      假设我们需要绘制这样一个场景:透过红色的玻璃去看绿色的物体,那么可以先绘制绿色的物体,再绘制红色玻璃。在绘制红色玻璃的时候,利用“混合”功能,把将要绘制上去的红色和原来的绿色进行混合,于是得到一种新的颜色,看上去就好像玻璃是半透明的。

源因子和目标因子

       下面用数学公式来表达一下这个运算方式。假设源颜色的四个分量(指红色,绿色,蓝色,alpha值)是(Rs, Gs, Bs,  As),目标颜色的四个分量是(Rd, Gd, Bd, Ad),又设源因子为(Sr, Sg, Sb, Sa),目标因子为(Dr, Dg, Db,  Da)。则混合产生的新颜色可以表示为:
                                                       (Rs*Sr+Rd*Dr, Gs*Sg+Gd*Dg, Bs*Sb+Bd*Db, As*Sa+Ad*Da)

DST_ALPHA 

表示使用目标颜色的alpha值来作为因子。

 

DST_COLOR

 把目标颜色的四个分量分别作为因子的四个分量

 

ONE 

表示使用1.0作为因子,实际上相当于完全的使用了这种颜色参与混合运算

 

ONE_MINUS_DST_ALPHA 

表示用1.0减去目标颜色的alpha值来作为因子。

 

ONE_MINUS_DST_COLOR 

 

ONE_MINUS_SRC_ALPHA 

表示用1.0减去源颜色的alpha值来作为因子。

 

ONE_MINUS_SRC_COLOR 

表示用RGB(1,1,1,1)减去源颜色的值来作为因子。

 

SRC_ALPHA 

表示使用源颜色的alpha值来作为因子。

 

SRC_ALPHA_SATURATE 

(f,f,f,1); f=min(As,1-Ad)

 

SRC_COLOR 

把源颜色的四个分量分别作为因子的四个分量

 

CONSTANT_COLOR 

自定义的颜色作为因子

 

ONE_MINUS_CONSTANT_COLOR 

表示用RGB(1,1,1,1)减去自定义的颜色作为因子

 

CONSTANT_ALPHA 

自定义的alpha作为因子

 

ONE_MINUS_CONSTANT_ALPHA 

表示用1.0减去自定义颜色的alpha值来作为因子。

 

ZERO

表示使用0.0作为因子,实际上相当于不使用这种颜色参与混合运算。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

关于cocos2d-js中使用 ClippingNode 以及 BlendFunc 来实现遮罩

关于ClippingNode 以及 BlendFunc 来实现遮罩  1. ClippingNode实现遮罩 首先要准备 一张png有透明度的图片  一张想要被遮住的图片 ...

cocos2d 制作动态光晕效果基础 —— blendFunc

最近的项目要求动态光晕的效果。 何谓动态光晕?之前不知道别人怎么称呼这个效果, 不过在我看来,“动态光晕”这个名儿起的还是蛮不错的。 动态光晕就是在背景图片的上面蒙上一层光照。。。 但是这个光...

cocos2d 制作动态光晕效果基础 —— blendFunc

最近的项目要求动态光晕的效果。 何谓动态光晕?之前不知道别人怎么称呼这个效果, 不过在我看来,“动态光晕”这个名儿起的还是蛮不错的。 动态光晕就是在背景图片的上面蒙上一层光照。。。 ...

cocos2d 制作动态光晕效果基础 —— blendFunc

最近的项目要求动态光晕的效果。 何谓动态光晕?之前不知道别人怎么称呼这个效果, 不过在我看来,“动态光晕”这个名儿起的还是蛮不错的。 动态光晕就是在背景图片的上面蒙上一层光照。。。 ...

Cocos2d-x v3.X的颜色混合BlendFunc使用详解

1、概念详解 “颜色混合”是指两种颜色的叠加,在新图片渲染到屏幕上的时候,将根据新图片的红、绿、蓝和透明度值与已加载屏幕上的图片颜色信息重新融合。 1)源颜色:新图片成为源颜色 ...

cocos2d 制作动态光晕效果基础 —— blendFunc

分类: iOS开发重用 iPhone游戏开发 Cocos2d框架 iOS开发性能提升 2012-07-28 03:06 13312人阅读 评论(10)收藏 举报 dstshader游戏算法bl...

osg节点拾取

使用Scribe特效实现白色轮廓,此类在osgFx模块里面。 所有场景中的节点全部添加Scribe特效。 通过继承GUIEventHandler来自定义鼠标对应动作时,需要进行何种操作。 在事件处...

OSG-3.0.1在VS2008下的编译、配置与安装

一、准备安装资料包程序(到OSG官方网站都可以下载) 下载相关的工具软件: 1、 最新版的OSG库:OpenSceneGraph-3.0.1.zip。 2、 安装源代码所需要的工具:cmak...

OSG2.8.1在vs2005的配置

OSG2.8.1,vs2005配置1.首先去OSG downloads 下载所需的文件,这是必须的。•http://www.openscenegraph.org/downloads/stable_re...

osg 学习 1

Open Scene Graphics 开放场景开发api。    资源: 论坛  中英文主页  osg程序设计教程 , osg quick start(in chinese), virtual ca...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)