着色器:ShaderLab 和固定功能着色器
入门
此教程将介绍如何创建自己的着色器,使您的游戏看起来更棒!
Unity 配置了一种强大的着色和材质语言,名为 ShaderLab。其语言风格类似于 CgFX 和 Direct3D Effects (.FX) 语言 – 可描述显示材质 (Material) 所需的一切信息。
着色器的属性描述可在 Unity 材质检视器 (Material Inspector) 中查看,并且多个着色器实现 (子着色器 (SubShaders)) 旨在实现不同的图形硬件功能,每一种都描述了图形硬件渲染状态、固定功能管道设置或要使用的顶点/片段程序。顶点和片段程序都使用高级 Cg/HLSL 编程语言编写。
本教程介绍如何使用固定功能和编程管道编写着色器。我们根据以下前提条件制定此教程:假设读者了解 OpenGL 或 Direct3D 渲染状态、固定功能和编程管道基础知识,并对Cg、HLSL 或 GLSL 编程语言有一定了解。可在 NVIDIA 和 AMD 开发人员网站找到一些着色器教程和文档。
要新建着色器,请在菜单栏中依次选择资源 (Assets)-> 创建 (Create)-> 着色器 (Shader),或复制并运行现有着色器。在工程视图 (Project View) 中双击新着色器,即可对其进行编辑。
我们先从最基础的着色器开始: