基本类型
Shader类型 | 名称 | 作用 | 通常用于 |
---|---|---|---|
表面着色器 | Surface Shader | 表面着色渲染 | 与各种光源打交道时候优先考虑 |
顶点/片元着色器 | Unlit Shader | 逐顶点/片元渲染 | 场景光源少或者自定义效果多优先考虑 |
图像特效着色器 | Image Effect Shader | 图像后处理渲染 | 屏幕效果后处理渲染 |
电脑着色器 | Compute Shader | 调运Gpu做批量简单运算 | 遮挡剔除判定,视锥体判定 |
属性定义 _Name(“DisplayName”,PropertyType) = DefaultValue
属性名称 | 数据类型 | 声明方式 | 其他描述 |
---|---|---|---|
Int | number | _IntName (“IntName”,int) = 1 | |
2D | sample2D | _2DName (“2DName”,2D) = " " {} | |
3D | sample3D | _2DName (“2DName”,3D) = “black” {} | |
Float | float,half,fixed | _FlaotName (“FloatName”,Float) = 1.0 | |
Cube | sampleCube | _CubeName (“CubeName”,Cube) = “white” {} | |
Range | float,half,fixed | _RangeName (“RangName”,Range(0.0,10.0)) = 3.0 | |
Color | float4,half4,fixed4 | _ColorName (“ColorName”,Color) = (1.0, 1.0, 1.0, 1.0) | |
Vector | float4,half4,fixed4 | _VectorName (“VectorName”,Vector) = (1.0, 2.0, 3.0, 4.0) |
渲染状态设置选项
渲染状态名称 | 设置指令 | 作用 |
---|---|---|
ZWrite | ZWrite On/Off | 深度写入:开启/关闭 |
Blend | Blend SrcFactor | 开启混合模式 |
Cull | Cull Back/Front/Off | 剔除模式:背面/正面/关闭 |
ZTest | ZTest Less Greater / LEqual / GEqual / Equal / NotEqual / Always | 深度测试函数 |
编译方法声明 | ||
基础方法 | 方法使用 | 书写范围 |
– | – | – |
顶点着色器 | vertex | 写在Pass CGPROGRAM ENDCG中 |
片元着色器 | fargment | 写在Pass CGPROGRAM ENDCG中 |
表面着色器 | surface | 不需要写在Pass中要写CGPROGRAM ENDCG中 |
固定渲染管线 | material | 写在Pass中不需要CGPROGRAM ENDCG |
字段定义
结构体
方法编写 | |
– | – |