著色器語言(英語:Shader Language)也叫著色語言(英語:Shading Language),是一類專門用來為著色器編程的程式語言。這類語言使用「顏色」「法線」等特殊的數據類型。由於三維計算機圖形目標市場的多元化,不同的目標市場通常使用不同的著色器語言。

離線渲染

編輯

離線渲染領域所使用的著色器語言通常可以生成高質量的圖像。這種著色器語言中,對材質屬性進行了高度抽象,使用時通常只需少量的編程知識、不需要硬體知識。

這類著色器通常可以達到照片級的效果,但同時需要花費大量時間和算力。因此,這類著色器的最終渲染通常都在計算機集群上進行。

離線渲染中常見的著色器語言有:

實時渲染

編輯

著色器語言在實時計算機圖形領域有著廣泛應用。與此前常見的硬編碼方式相比,這類語言對於硬體抽象的程度很高,同時還給予了程式設計師更大的靈活性,可以更好地控制整個渲染過程。

由於串流處理的特點,這類直接在 GPU 上運行的著色器也常被用於吞吐量較大的通用數據處理領域。

實時渲染中常見的著色器語言有: