unity之頂點和片元着色器入門

ShaderLab 着色器不僅僅包括“硬件着色器”。這些着色器做很多事情。它們描述在材質檢視器 (Material Inspector) 中顯示的屬性,容納用於不同圖形硬件的多種着色器實現,配置固定函數硬件狀態等等。實際可編程着色器 - 如頂點和片元程序 - 只是整個 ShaderLab“着色器”概念的一部分。請查看着色器教程中的基本簡介。在這裏,我們將調用低級硬件着色器着色器程序。

如果您想編寫與光照交互的着色器,請查看表面着色器文檔。本頁剩餘部分將假設着色器不與 Unity 光照交互(例如:特殊效果、Image Effects|圖像效果等。)

着色器程序的編寫採用 Cg/HLSL 語言,是通過在着色器文本中 Pass 命令內的某處嵌入“代碼片段”的來實現的。它們通常看起來像這樣:

 Pass {
      *// ...常用的通道狀態設置...*
      **CGPROGRAM**
      *// 該代碼片段的編譯指令,例如:*
      **#pragma vertex** vert
      **#pragma fragment** frag
      *// Cg 代碼自身*
      **ENDCG**
      *// ...通道設置的剩餘部分...*
  }

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