其他分享
首页 > 其他分享> > Unity shader笔记04--开关

Unity shader笔记04--开关

作者:互联网

Cull off|Back|Front

ZTest:深度测试,开启后测试结果决定片元是否被舍弃,可配置 
ZWrite:深度写入,开启后决定片元的深度值是否写入深度缓冲,可配置

  • 在开启ZTest下,没有通过测试的片元部分是直接被舍弃,通过测试的片元被保留下来
  • 在关闭ZTest下,不存在片元被舍弃的情况,也就是说,关闭深度测试,整个片元是被保留下来的
  • 在ZWrite开启状态下,只有保留下来片元深度值才能被写入深度缓冲
  • 即: 
    1.深度测试通过,深度写入开启:写入深度缓冲区,写入颜色缓冲区 
    2.深度测试通过,深度写入关闭:不写深度缓冲区,写入颜色缓冲区 
    3.深度测试失败,深度写入开启:不写深度缓冲区,不写颜色缓冲区
    4.深度测试失败,深度写入关闭:不写深度缓冲区,不写颜色缓冲区
  • https://blog.csdn.net/u013477973/article/details/80617787
  • ZWrite On | Off

Blend 

  • Blend Off 关闭混合
  • Blend SrcFactor DstFactor :开启混合,SrcFactor 和 DstFactor 为混合因子(其实就是个系数),S是源颜色,D是目的颜色,混合后的颜色Color如下,其rgb和a值都使用同一套混合因子
    • One    因子:1
      Zero    因子:0
      SrcColor    源颜色值
      SrcAlpha    源颜色的Alpha值
      DstColor    目标颜色值
      DstAlpha    目标颜色的Alpha值
      OneMinusSrcColor    1-源颜色值
      OneMinusSrcAlpha    1-源颜色的Alpha值
      OneMinusDstColor    1-目标颜色值
      OneMinusDstAlpha    1-目标颜色的Alpha值
  • BlendOp Operation:Operation是混合操作,下面是一些常用的混合操作
Add将源颜色和目的颜色相加(默认的混合操作)

Color_r_g_b = SrcFactor\ast S_r_g_b+DstFactor \ast D_r_g_b

Color_a = SrcFactorA\ast S_a+DstFactorA \ast D_a

Sub

用源颜色减去目的颜色

Color_r_g_b = SrcFactor\ast S_r_g_b-DstFactor \ast D_r_g_b

Color_a = SrcFactorA\ast S_a-DstFactorA \ast D_a

RevSub

用目的颜色减去源颜色

Color_r_g_b = DstFactor \ast D_r_g_b-SrcFactor\ast S_r_g_b

Color_a = DstFactorA \ast D_a-SrcFactorA\ast S_a

Min

取源颜色和目的颜色中的较小值,是逐分量比较

Color_r = min(S_r,D_r)

Color_g = min(S_g,D_g)

Color_b = min(S_b,D_b)

Color_a = min(S_a,D_a)

Max

取源颜色和目的颜色中的较大值,是逐分量比较

Color_r = max(S_r,D_r)

Color_g = max(S_g,D_g)

Color_b = max(S_b,D_b)

Color_a = max(S_a,D_a)

 

//正常(Normal)
Blend SrcAlpha OneMinusSrcAlpha
 
//柔和相加(Soft Addtive)
Blend OneMinusDstAlpha One
 
//正片叠底(Multiply),即相乘
Blend DstColor Zero
 
//两倍相乘(2x Multiply)
Blend DstColor SrcColor
 
//变暗(Darken)
BlendOp Min
Blend One One
 
//变亮(Lighten)
BlendOp Max
Blend One One
 
//滤色(Screen)
Blend OneMinusDstColor One
 
//线性减淡(Linear Dodge)
Blend One One




 

标签:颜色,04,ZTest,--,写入,shader,深度,缓冲区,Blend
来源: https://blog.csdn.net/qq_34925263/article/details/116043864