着色器语言
外观
此條目没有列出任何参考或来源。 (2018年6月25日) |
着色器语言(英語:Shader Language)也叫着色语言(英語:Shading Language),是一类专门用来为着色器编程的编程语言。这类语言使用「颜色」「法线」等特殊的数据类型。由于三维计算机图形目标市场的多元化,不同的目标市场通常使用不同的着色器语言。
离线渲染
[编辑]离线渲染领域所使用的着色器语言通常可以生成高质量的图像。这种着色器语言中,对材质属性进行了高度抽象,使用时通常只需少量的编程知识、不需要硬件知识。
这类着色器通常可以达到照片级的效果,但同时需要花费大量时间和算力。因此,这类着色器的最终渲染通常都在计算机集群上进行。
离线渲染中常见的着色器语言有:
- RenderMan 着色语言(RSL)
- Houdini VEX 着色语言
- Gelato 着色语言
- 开放着色器编程语言(OSL)
实时渲染
[编辑]着色器语言在实时计算机图形领域有着广泛应用。与此前常见的硬编码方式相比,这类语言对于硬件抽象的程度很高,同时还给予了程序员更大的灵活性,可以更好地控制整个渲染过程。
由于串流处理的特点,这类直接在 GPU 上运行的着色器也常被用于吞吐量较大的通用数据处理领域。
实时渲染中常见的着色器语言有:
- ARB汇编语言
- OpenGL 着色语言
- Cg语言
- DirectX 着色器汇编语言
- DirectX 高级着色器语言(HLSL)
- Metal 着色语言