您好,登錄后才能下訂單哦!
ShaderLab: Pass
Pass過程導致一個物體的幾何被渲染一次。
語法:
Pass { [Name and Tags] [RenderSetup] }
基本的Pass命令包含了一系列的渲染步驟命令。
Name and tags
一個Pass過程可以定義它的名字和任意數量的標簽,名字/值字符串傳達了Pass給渲染引擎的意圖。
Render State Setup
一個Pass過程設置顯卡的各種各樣的狀態,例如是否開啟透明度混合(alpha blending),是否使用深度測試(depth testing)等等。
命令格式如下:
Cull:
Cull Back | Front | Off
多邊形的剔除模式(查閱Cull and Depth page)
ZTest:
ZTest (Less | Greater | LEqual | GEqual | Equal | NotEqual | Always)
設置深度緩沖區測試模式(查閱Cull and Depth page)
ZWrite:
ZWrite On | Off
設置深度緩沖區寫入模式(查閱 Cull and Depth page)
Blend:
Blend sourceBlendMode destBlendMode
Blend sourceBlendMode destBlendMode, alphaSourceBlendMode alphaDestBlendMode
BlendOp colorOp
BlendOp colorOp, alphaOp
AlphaToMask On | Off
設置透明度混合,透明度操作,透明度覆蓋模式(查閱Blending page)
ColorMask:
ColorMask RGB | A | 0 | any combination of R, G, B, A
設置顏色通道寫入遮罩,寫入顏色遮罩0關閉全部顏色通道的渲染。默認模式是寫入全部通道(RGBA),
但是對于某些特別的效果你也許需要留下特定的未改變的通道,或者完全關閉顏色寫入。
Offset:
Offset OffsetFactor, OffsetUnits
設置Z緩沖區深度偏移。(查閱Cull and Depth page)
Legacy Fixed Function Shader Commands: 廢棄的命令
一些命令是用于編寫過時的fixed function style Shader。這是因為考慮到了被棄用的函數功能,
編寫surface shader 或者 shader program 允許了更多的靈活性。不管怎樣,因為每一個用fixed function style編寫的簡單的shader
會變得更加簡單,所以這里有一些命令。在使用fixed function shader時會忽視它們。
Fixed Function Lighting and Material:
Lighting On | Off
Material { Material Block }
SeparateSpecular On | Off
Color Color-value
ColorMaterial AmbientAndDiffuse | Emission
所有這些控制fixed function per-vertex lighting,開啟時,建立材質顏色,開啟specular highlights,
提供默認顏色如果頂點燈光關閉的話,并且控制網格頂點顏色如何影響光照。(查閱Material page)
Fixed Function Fog:
Fog { Fog Block }
設置fixed function fog參數(查閱Fog page)
Fixed Function AlphaTest:
AlphaTest (Less | Greater | LEqual | GEqual | Equal | NotEqual | Always) CutoffValue
開啟fixed function alpha testing(查閱Alpha Testing page)
Fixed Function Texture Combiners:
在渲染狀態建立之后,通過SetTexture命令,你能指定一些貼圖并且他們應用的合并模式。
SetTexture textureProperty { combine options }
Details:
Shader的Pass過程與Unity的渲染管道有以下幾種方式的交互:
例如:一個Pass可以通過標簽來指定它只能被用于defered shading。
確定的Pass也可以被同一個物體執行多次,例如在forward rendering中,這個"ForwardAdd"Pass會被執行多次,
取決于有多少燈光影響這個物體。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。