着色器语言

着色器语言(英语:Shader Language)也叫着色语言(英语:Shading Language),是一类专门用来为着色器编程的编程语言。这类语言使用“颜色”“法线”等特殊的数据类型。由于三维计算机图形目标市场的多元化,不同的目标市场通常使用不同的着色器语言。

离线渲染

离线渲染领域所使用的着色器语言通常可以生成高质量的图像。这种着色器语言中,对材质属性进行了高度抽象,使用时通常只需少量的编程知识、不需要硬件知识。

这类着色器通常可以达到照片级的效果,但同时需要花费大量时间和算力。因此,这类着色器的最终渲染通常都在计算机集群上进行。

离线渲染中常见的着色器语言有:

实时渲染

着色器语言在实时计算机图形领域有着广泛应用。与此前常见的硬编码方式相比,这类语言对于硬件抽象的程度很高,同时还给予了程序员更大的灵活性,可以更好地控制整个渲染过程。

由于串流处理的特点,这类直接在 GPU 上运行的着色器也常被用于吞吐量较大的通用数据处理领域。

实时渲染中常见的着色器语言有: