前言
-
b站上siki关于shaderLab的课程,想着跟着学习一下。链接:【简单易懂的Unity5 Shader着色器入门教程】 008-如何使用属性_哔哩哔哩_bilibili
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)
在一些旧的设备上特定使用的着色器。目前使用的很少。
Unity中vs的配置
扩展>管理扩展 搜索“Shader”,下载ShaderlabVS插件既可。
注意要将vs关闭再重开。
后记
-
后来发现unity这两年已经有了更新的Shader Graph,开始有点纠结是否要继续学习shaderLab还是转战Shader Graph。。。
-
最后打算还是先学图形学基础,学完对于unity Shader的学习应该会有更多的认识。无论是ShaderLab还是Shader Graph的学习,打算先放一放。