US2S2L7——Shader的编写形式
US2S2L7——Shader的编写形式
Shader的形式
通过之前的课程,我们已经对Shader文件的文件结构有一定的认识,并且学习了ShaderLab语法相关的知识
通过学习我们知道 在Unity Shader当中我们可以通过ShaderLab语法去设置很多内容
比如属性、渲染状态、渲染标签等等,但是其最主要的作用是需要指定各种着色器所需的代码
而这些着色器代码即可以放在 SubShader 子着色器语句块中,也可以放在其中的 Pass 渲染通道语句块中
不同的Shader形式放置着色器代码的位置也有所不同
我们一般会使用以下3种形式来编写Unity Shader:
- 表面着色器(代码量较少,可控性较低)
- 顶点-片元着色器(更为灵活,重点学习)
- 固定函数着色器(基本已弃用,了解即可)
我们应该如何选择呢?
- 固定函数着色器基本已弃用,不是我们学习的重点
- 对于PC、主机性能较高的设备,为了追求更好的效果,使用表面着色器可能更加的方便
- 对于移动设备,为了权衡效果和性能,优先使用顶点/片元着色器
- 在有很多自定义的渲染效果时,优先使用顶点/片元着色器,因为更灵活可控
而表面着色器的本质是对顶点/片元着色器的封装
所以我们在学习过程中,着重学习顶点/片元着色器开发的相关知识
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 文KRIFE齐的博客!