Shader学习(一):基本概念
#shader
2024-04-13
Shader语言
计算机的图形渲染,主要由OpenGL或DirectX来完成。
OpenGl使用的是GLSL sharder语言,DirectX使用的是HLSL sharder语言。
英伟达公司出的CG语言具有跨平台的特性,能够在两个平台上都适用。
unity三种Shader语言都可以运行。
Unity Shader的分类
unity中使用的是ShaderLab编写。ShaderLab是对三种语言进行了重新封装。unity中的Shader分为以下的三类。
表面着色器(Surface Shader)
表面着色器是unity对一些Shader进行了封装,比普通的shader书写简单。
可以认为表面着色器是对顶点/片元着色器的封装,实际编译的时候,表面着色器会被转成顶点/片元着色器。
当光源较多时,适合使用表面着色器,unity的表面着色器已经处理了很多的光照细节。
顶点/片元着色器(Vertex/Fragment Shader)
基本的着色器。
实现的效果更强大,所有的功能都提供。
固定函数着色器(Fixed Function Shader)
在一些旧的设备上特定使用的着色器。目前使用的很少。