D3D中的Alpha颜色混合(3) 摘要:
另一种实现实现背景透明显示的简便方法是直接应用渲染管道流水线的Alpha测试功能进行,D3D中的Alpha颜色混合(2)介绍的接口方法实际就是对
Alpha测试的一个包装。Alpha测试是对需要写入绘图表面的像素颜色Alpha值进行测试,判断该Alpha值是否满足预先设定的条件,如果满足条件,则将该像素颜色值写入绘图表面,否则不写入。
D3D中的Alpha颜色混合(2) 摘要:
本篇是D3D中的Alpha颜色混合(1)的后续篇,主要讲利用ID3DXSprite来实现图片间的颜色透明效果。
在一幅图象上透明的显示另一幅图象,是Alpha颜色混合的一个典型应用,如下图所示,瞄准镜图象背景透明地显示在老虎背景图象上。
实现瞄准镜的背景透明显示,首先需要准备如下两张图:
Alpha通道图(屏蔽图)的黑色像素对应的源图像素不被显示出来,Alpha通道图(屏蔽图)的白色像素对应的源图像素会显示出来。
D3D中的Alpha颜色混合(1) 摘要:
渲染管道流水线通常需要将来自顶点的颜色,纹理像素的颜色,光照颜色以及物体表面材质反射光颜色进行混合,生成计算机屏幕的像素颜色。将多种颜色混合在一起,必须考虑各种颜色的成分比例,这个比例由Alpha因子决定。对于游戏开发来说,利用Alpha颜色混合可产生背景透明的渲染效果。
一般的,屏幕像素的当前颜色值SrcColor可与目标像素颜色值DestColor进行如下运算,然后将获得的颜色值Color作为该像素的新颜色,以实现像素的目标颜色与源颜色的混合。