玩davinci的人都知道,视频处理后端(视频图像显示)中的attribute层,是VIDEO1和OSD0的alpha混合,是framebuffer的驱动实现的这种效果。
alpha混合技术,主要是用于实现半透明的效果,假设一种不透明东西的颜色是A(即VIDEO1),另一种透明的东西的颜色是B(即OSD0),那么透过B去看A,看上去的颜色C(即attribute)就是B和A的混合颜色,可以用下面的式子来近似,设B物体的透明度为alpha(取值为0~1之间的浮点数,0为完全透明,1为完全不透明)[1]。
R(C)=alpha*R(B)+(1-alpha)*R(A)
G(C)=alpha*G(B)+(1-alpha)*G(A)
B(C)=alpha*B(B)+(1-alpha)*B(A)
alpha混合可以实现火光、烟雾、阴影、动态光源等等一切你可以想象的出来的半透明效果,具体思想参考[1]。
下面给出实现alpha混合的OpenCV代码,取alpha为0.4、0.6时,alpha混合效果如下图。
源代码:
IDE:vc6
参考:
[1]http://dev.gameres.com/Program/Visual/2D/AlphaQiantan.htm
分享到:
相关推荐
第8章 深度测试与Alpha混合 1、ZTest 演示深度测试的使用。程序运行时按下数字键“1”启用深度测试,按下数字键“0”,则禁用深度测试。 2、AlphaBlend 演示使用Alpha混合实现半透明效果。程序运行时按下数字键“1”,...
嵌入式图形处理器Alpha混合单元设计与实现.pdf
Exercise 5:alpha 混合要求: 1. 绘制若干个透明和非透明茶壶,并体现出它们之间正确的混合效果; 考察目的: 1. OpenGL 中 alpha 混合的使用; 2. 混合绘制透明和不透明物体的正确方法; 3. 运算符的重载和...
这次给大家奉献的是我最近学习DirectX基础的一些内容:进行Alpha混合。虽然我在很多的游戏中看到了美轮美奂的半透明效果,但是能够自己制作出半透明的效果还是一件非常欣慰的事情。因为这不仅仅是自己目的的达成,...
RGB颜色Alpha混合.rar
VS2013工程,代码已包含了dxsdk目录,下载后可直接通过编译。是红龙书自带的第七章demo,展示了D3D9的alpha混合 (含自定义alpha和纹理自带alpha)
用VS2008和DX2009做的win32 例子 实现飞机模型的Alpha混合测试
DirectX编程:Alpha混合示例程序
本文档为alpha混合最初的设计文档,由Thomas Porter和Tom Duff两位提出并编撰
OGLStencil深度测试 模板测试 以及 Alpha混合_VS2015.rar ---------------- OGLStencil深度测试 模板测试 以及 Alpha混合_VS2015.rar --------------------参考: ...
易语言RGB颜色Alpha混合源码,RGB颜色Alpha混合,RGB_Alpha,CRect,CreatePen,CreateSolidBrush,FillRect,GetDC,LineTo,MoveToEx,ReleaseDC,DeleteObject
* 使用三张图片完成 Alpha 混合 * 缺少保存格式的选择、缺少参数设置应用程序向导已为您创建了这个 AlphaMixer 应用程序。此应用程序不仅演示 Microsoft 基础类的基本使用方法,还可作为您编写应用程序的起点。 ...
opengles alpha混合
这次给大家奉献的是我最近学习DirectX基础的一些内容:进行Alpha混合。虽然我在很多的游戏中看到了美轮美奂的半透明效果,但是能够自己制作出半透明的效果还是一件非常欣慰的事情。因为这不仅仅是自己目的的达成,...
alphablend.c alphablendnosort.c
位图透明绘制, alpha混合 完整示例代码, alphaBlend 的使用
将多个地表纹理按Alpha通道进行混合,是做3D地表纹理混合的基础思想。
基于材质的alpha混合,提供于directx初学者
dx9 alpha混合纹理原代码