编写Unity Shader的三种形式

(操作简单)表面着色器Surface Shader

定义在SubShader语义块而不是Pass语义块;

Unity会在背后完成很多繁杂的处理,所以SurfaceShader处理的内容非常的单纯简洁。

如:指定纹理填充颜色;指定法线纹理填充法线;指定Lambert光照模型


(复杂的)顶点/片元着色器

处于Pass语义块内;优点就是:灵活性高,可控制渲染来实现细节。


(老旧的)固定函数着色器

定义在Pass中,但是多是支持老旧设备的,只能完成很简单的效果。

而且使用的语言是ShaderLab;而不像另外两种使用Cg/HLSL

你可能感兴趣的:(编写Unity Shader的三种形式)