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