Unity3D shader Blending

混合(Blending)是计算机呈现渲染结果的最后阶段,每一个像素将被绘制到屏幕上。

混合的基本公式:Blend SrcFactor DstFactor  将前面各种计算产生的颜色(fragment_output )*SrcFactor+当前屏幕的颜色(pixel_color)*DstFactor  等价于float4  result = SrcFactor * fragment_output + DstFactor * pixel_color;

混合的一个基本参数介绍:

CodeResulting Factor (SrcFactor or DstFactor)
One float4(1.0)
Zero float4(0.0)
SrcColor fragment_output
SrcAlpha float4(fragment_output.a)
DstColor pixel_color
DstAlpha float4(pixel_color.a)
OneMinusSrcColor float4(1.0) - fragment_output
OneMinusSrcAlpha float4(1.0 - fragment_output.a)
OneMinusDstColor float4(1.0) - pixel_color
OneMinusDstAlpha

float4(1.0 - pixel_color.a)

 

所以 对于任何混合命令 套用以上公式 即可。

例如:Blend SrcAlpha OneMinusSrcAlpha  等价于 float4  result = float4(fragment_output.a) * fragment_output + float4(1.0 - fragment_output.a) * pixel_color;

posted @ 2013-03-21 10:16  U_探索  阅读(717)  评论(0编辑  收藏  举报