ShaderLab Pass 模板測試 備忘

unity文檔ShaderLab: Stencil

1.語法

  所有參數都設置時寫法及默認值如下

Stencil 
{
	Ref 0
    ReadMask 255
    WriteMask 255
    Comp Always
    Pass Keep
    Fail Keep
    ZFail Keep
}

2.參數

  • Ref 要比較的值,或者叫參考值(如果Comp的值不爲always)和要寫入緩衝區的值(如果Pass,Fail 或 ZFail 被設爲replace時),取值範圍[0,255]
  • ReadMask
  • WirteMask
  • Comp 比較參考值和緩衝區當前值的方法,默認爲alaways。
方法名 描述
Greater >
GEqual >=
Less <
LEqual <=
Equal ==
NotEqual !=
Always 總是
Never 從不
  • Pass 當模板測試和深度測試都通過時執行操作
  • Fail 當模板測試和深度測試都失敗時執行操作
  • ZFail 當模板測試通過而深度測試失敗時執行操作
    Pass, Fail, ZFail都是模板操作,其可以設置的操作方式如下
操作 描述
Keep 保持當前緩衝區的值
Zero 寫入0
Replace 寫入參考值
IncrSat 緩衝區值+1,不能大於255
DecrSat 緩衝區值-1,不能小於0
Invert 所有位取反 ,相當於 ~
IncrWrap 緩衝區值+1,如果緩衝區 已經是255,則寫入0
DecrWrap 緩衝區值-1,如果緩衝區 已經是0,則寫入255
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章