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

離線渲染

編輯

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

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

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

實時渲染

編輯

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

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

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