Shader - Pass (六)

                        Pass Tags

Syntax 語法

Tags { “TagName1” = “Value1” “TagName2” = “Value2” }

指定TagName1 的值爲 Value1 ,TagName2 的值爲 Value2 你可以指定很多你喜歡的標籤

Details 細節

標籤基本上是鍵-值對的形式。 內部的Pass 標籤用來控制光照管道(環境光照,頂點關照和像素光照)中pass 的任務和一些其它選項。注意以下的標籤必須在pass段內部,而不是在SubShader中被識別。

LightMode tag 光照模式標籤
LightMode 標籤定義了光照觀點中的pass的任務。查閱render pipeline瞭解更多細節。這些標籤很少手動使用。常用的shader 需要與光照進行互動的Shader寫成表面着色器 然後在去關聯那些細節

LightMode 的可選值:

  1. Always:總是渲染。沒有光照應用。
  2. ForwardBase:用於正向渲染,環境主要方向燈和定點光/SH 等的應用。
  3. ForwardAdd:用於正向渲染,附加的像素光被應用,每個光照一個pass。
  4. PrepassBase:用於延遲光照,渲染法線/鏡面指數。lor function)。
  5. PrepassFinal:用於延遲光照,通過結合紋理,光照和自發光渲染最終顏色。
  6. Vertex:用於頂點光照渲染,當物體沒有光照映射時,所有頂點光照被應用。
  7. VertexLMRGBM:用於頂點光照渲染,當物體有光照映射的時候使用頂點光照渲染。在平臺上光照映射是RGBM 編碼。
  8. VertexLM:用於頂點光照渲染,當物體有光照映射的時候使用頂點光照渲染。在平臺上光照映射是double-LDR 編碼(移動平臺,及老式臺式CPU)。
  9. ShadowCaster:將物體當做陰影產生者來渲染。
  10. ShadowCollector:爲了正向渲染對象的路徑,將對象的陰影收集到屏幕空間緩衝區中。

RequireOptions tag 需要選項標籤
當一些外部條件得到滿足時 這個pass才渲染,這是通過使用RequireOptions標籤,它的值是一個空格分割的字符串,目前由Unity3d支持的選項是:
SoftVegetation:如果在Quality Settings中開啓(Edit->Project Settings->Quality)渲染軟植被則pass可以渲染。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章