US3——Shader开发知识
US3——Shader开发知识
前置知识点
Unity Shader 入门相关必备基础知识的学习,其中重要的知识有:
- 渲染管线相关(应用阶段——>几何阶段——>光栅化阶段)
- 数学基础相关(点、向量、矩阵、坐标系变换)
- 语法基础相关(ShaderLab语法、CG语法)
通过这些知识的学习,我们基本上能够大致了解了应该如何进行Shader开发
Shader 开发知识
我们可以通过 CG 等语言结合 ShaderLab 语法规则来编写 Shader 文件
我们需要在顶点、片元着色器的回调函数中具体实现着色器逻辑
在顶点着色器回调函数中我们利用语义获取到模型中的数据
将数据处理完毕后又传递给片元着色器回调函数中进行处理
还可以结合 ShaderLab 属性来进行更多的可变处理,从而呈现出不同的表现效果
我们之后学习的大部分 Shader 相关的知识,其实本质上都是一些计算公式、计算规则(算法)
Shader 的本质其实就是利用各种数学计算,呈现出不同的表现效果
本系列学习内容:
-
Shader 开发入门
学习了这些知识,我们才能实现最基础的渲染效果
- 光照效果
- 纹理效果
- 透明效果
-
Shader 开发基础
- 渲染路径(前向渲染,延迟渲染等)
- 多种光源处理(存在多种不同类型光源的情况下的光照计算方法)
- 阴影(让物体投射阴影、让物体接受阴影)
- 标准光照着色器(结合漫反射与高光反射,多种光源,阴影的可通用的 Shader)
- 高级纹理(立方体纹理:可实现天空盒,反射,折射,菲涅尔反射等、渲染目标纹理、程序纹理)
- 动态效果(修改纹理采样范围实现纹理动画,偏移模型顶点位置实现顶点动画)
- 屏幕后期处理效果(将渲染完毕的画面传递到 Shader 内处理,进一步加工最终画面,实现边缘检测,模糊等效果)
- 深度和法线纹理(施工中)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 文KRIFE齐的博客!