1. ShaderLab(可以显示在编辑器面板)
1. Int
1. 有些时候当作float处理
2. Float
3. Range(min, max)
4. Color
5. Vector
6. 2D
7. 3D
8. Cube
2. Cg/HLSL(各自Pass内使用)
1. float
1. 32位存储
2. half
1. 16位存储,范围 -60000~60000
3. fixed
1. 11位存储,范围-2.0~2.0
2. 不应用来存储uv
4. sampler2D
5. sampler3D
6. samplerCube
3. UnityShader语义(寄存器)
1. POSITION
1. 模型空间中的顶点位置
2. 通常是float4类型
3. a2f 应用阶段传递给顶点着色器
2. NORMAL
1. 顶点法线
2. 通常是float3类型
3. a2v 应用阶段传递给顶点着色器
3. TANGENT
1. 顶点法线
2. 通常是float4类型
3. a2v 应用阶段传递给顶点着色器
4. COLOR
1. 顶点颜色
2. 通常是fixed4或float4类型
3. a2v 应用阶段传递给顶点着色器
5. TEXCOORDn:
1. 顶点纹理坐标
2. 通常是float2或float4类型
3. 在Unity Model2和3中,n=8(Unity默认),在4和5中n=16.
4. a2v 应用阶段传递给顶点着色器
6. SV_POSITION
1. 裁剪空间中的顶点坐标
2. 结构体中必须包含一个用该语义修饰的变量
3. 等同于DirectX9中的POSITION,但是最好是使用SV_POSITION
4. v2f 从顶点着色器传递给片元着色器
7. COLOR0
1. 输出第一组顶点颜色
2. v2f 从顶点着色器传递给片元着色器
8. COLOR1
1. 输出第二组顶点颜色
2. v2f 从顶点着色器传递给片元着色器
9. TEXCOORD0~7
1. 输出纹理坐标
2. v2f 从顶点着色器传递给片元着色器
10. SV_Target
1. 输出值将会存储到渲染目标(render target)中
2. 简单理解为颜色值