着色器語言
此條目沒有列出任何參考或來源。 (2018年6月25日) |
着色器語言(英語:Shader Language)也叫着色語言(英語:Shading Language),是一類專門用來為着色器編程的程式語言。這類語言使用「顏色」「法線」等特殊的數據類型。由於三維計算機圖形目標市場的多元化,不同的目標市場通常使用不同的着色器語言。
離線渲染
離線渲染領域所使用的着色器語言通常可以生成高質量的圖像。這種着色器語言中,對材質屬性進行了高度抽象,使用時通常只需少量的編程知識、不需要硬件知識。
這類着色器通常可以達到照片級的效果,但同時需要花費大量時間和算力。因此,這類着色器的最終渲染通常都在計算機集群上進行。
離線渲染中常見的着色器語言有:
- RenderMan 着色語言(RSL)
- Houdini VEX 着色語言
- Gelato 着色語言
- 開放着色器程式語言(OSL)
實時渲染
着色器語言在實時計算機圖形領域有着廣泛應用。與此前常見的硬編碼方式相比,這類語言對於硬件抽象的程度很高,同時還給予了程式設計師更大的靈活性,可以更好地控制整個渲染過程。
由於串流處理的特點,這類直接在 GPU 上運行的着色器也常被用於吞吐量較大的通用數據處理領域。
實時渲染中常見的着色器語言有:
- ARB匯編語言
- OpenGL 着色語言
- Cg語言
- DirectX 着色器匯編語言
- DirectX 高級着色器語言(HLSL)
- Metal 着色語言