Shader可以认为是一种渲染命令,由OpenGL或者DX进行解析,来控制渲染丰富多彩的图形。
在Unity中,Mesh Filter存储一个Mesh(模型的网格,三角面的一些顶点信息);Mesh Render用来渲染一个模型的外观,按照Mesh给它颜色,通过Material控制模型渲染的样子,Material中包含贴图(可以没有,也可以是单纯的颜色)和Shader。
编写Shader使用的语言:
OpenGL:GLSL(多用于移动端)
DirectX:HLSL(多用于PC端)
NVIDIA:CG(可跨平台使用)
Unity Shader的分类:
(使用的是ShaderLab编写Unity中的Shader)
1:表面着色器:surface shader(实际上是对顶点/片元着色器的封装,使用方便)
2:顶点/片元着色器:vertex/fragment shader(可实现的效果更丰富)
3:固定函数着色器:fixed function shader(已经弃用)