Unity提供了5种Unity Shader的模板供我们选择:
Standard Surface Shader:会产生一个包含了标准光照模型的表面着色器模板。
Unlit Shader:会产生一个不包含光照(但包含雾效)的基本的顶点/片元着色器。
Image Effect Shader:为我们实现各种屏幕后处理效果提供了一个基本模板。
Compute Shader:会产生一种特殊的Shader文件,这类Shader旨在利用GPU的并行性来进行一些与常规渲染流水线无关的计算。
Ray Tracing Shader:会创建一个光线追踪着色器。
一个Unity Shader的基础结构如下所示:
Shader "ShaderName"
{
Properties
{
//所需的各种属性
}
SubShader
{
//显卡A使用的子着色器
//真正意义上的Shader代码会出现在这里
//表面着色器(Surface Shader)或者
//顶点/片元着色器(Vertex/Fragment Shader)或者
//固定函数着色器(Fixed Function Shader)
}
SubShader
{
//显卡B使用的子着色器
//和上一个SubShader类似
}
Fallback "VertexLit"
}
通过代码第一行的shadername可以在Unity