1.面向零基础人群写作,内容由浅入深,基础知识全面,注重原理讲解,让读者知其然更知其所以然。
2.语言通俗易懂,插图丰富,用大量生动与图形化的描述讲解Shader及其原理知识,学习门槛低,上手快。
3.内容贴近实战,帮助读者举一反三,拓展知识,不局限于书中介绍的内容。
4.配套资源齐全。课后习题,帮助读者巩固知识。
第1章 数学基础
1.1 向量
1.1.1 向量的基本运算
1.1.2 线性组合
1.1.3 线性相关与线性无关
1.1.4 基向量
1.2 矩阵与空间
1.2.1 矩阵概念与几何意义
1.2.2 矩阵运算及其几何意义
1.2.3 使用矩阵进行空间变换
1.3 习题
第2章 渲染流水线
2.1 教机器人画速写
2.2 GPU的“思维方式”
2.3 应用阶段
2.4 几何阶段
2.4.1 顶点着色器
2.4.2 曲面细分着色器
2.4.3 几何着色器
2.4.4 投影
2.4.5 裁剪
2.4.6 屏幕映射
2.5 光栅化阶段
2.5.1 图元组装
2.5.2 三角形遍历
2.5.3 片元着色器
2.5.4 逐片元操作
2.6 可编程渲染管线:Unity SRP
2.7 习题
第3章 Shader基础
3.1 我的第一个Shadel
3.2 Properties
3.3 SubShader
3.4 Pass
3.4.1 Pragma
3.4.2 Include
3.5 Shader内的结构体
3.5.1 顶点着色器输入
3.5.2 片元着色器输入
3.6 顶点着色器
3.7 片元着色器
3.8 我该怎么写呢
3.8.1 基本语法
3.8.2 常用函数
3.9 习题
第4章 上个色吧:基础Shader上手
4.1 纹理
4.1.1 平移、缩放、旋转——UV的奇妙用途
4.1.2 更多的纹理、奇妙的遮罩
4.1.3 混合的艺术
4.1.4 示例代码
4.2 不同空间的操作
4.2.1 世界空间与模型空间
4.2.2 观察空间与裁剪空间
4.3 控制覆盖的方式
4.3.1 渲染队列
4.3.2 深度测试、深度写入、深度裁切与Early
4.3.3 溶解效果:Alpha Test与Clip操作
4.3.4 模板测试
4.4 完善材质面板:Properties
4.5 你能获得的其他信息
4.5.1 顶点上的其他信息
4.5.2 其他信息
4.6 习题
第5章 计算与串联:需要思考的Shader
5.1 边缘光效果
5.1.1 如何“看到”外边缘
5.1.2 让效果不断变换
5.1.3 使用遮罩美化
5.1.4 让功能是“可选的”:Shader变体
5.1.5 最终代码
5.2 简单光照
5.2.1 漫反射
5.2.2 环境光
5.2.3 高光反射
5.2.4 阴影
5.2.5 多光源渲染
5.2.6 球谐光照
5.2.7 障眼法:烘焙
5.2.8 完整代码
5.3 法线贴图
5.3.1 提高模型细节的“障眼法”
5.3.2 翻译法线贴图
5.3.3 Unity中的法线贴图
5.3.4 完整代码
5.4 类玻璃物体的渲染
5.4.1 折射效果与Grabpass
5.4.2 模糊
5.4.3 反射
5.4.4 完整代码
5.5 习题
第6章 在模型上雕塑:Shader与几何
6.1 描边
6.1.1 额外的Pass
6.1.2 平直着色物体描边
6.1.3 完整代码
6.2 无中生有的顶点:曲面细分着色器
6.2.1 曲面细分的流程及数据传递
6.2.2 Gerstner波
6.2.3 计算法线
6.2.4 基于视距的曲面细分
6.2.5 完整代码
6.3 改变网格:几何着色器
6.3.1 几何着色器的流程与数据传递
6.3.2 生成随机草地
6.4 习题
第7章 中转站:Render Texure
7.1 轨迹效果
7.1.1 渲染的中转站Rerder Teture
7.1.2 在Render Tenure上作画
7.2 后处理效果
7.2.1 Uhity Post Processing包
7.2.2 创建自己的后处理效果
7.2.3 后处理中的描边效果
7.3 习题
第8章 非真实感渲染
8.1 色彩控制
8.2 风格化描边
8.3 边缘光
8.4 笔触感
8.5 我们想要什么样的“非真实感”
8.6 习题
第9章 真的入门了吗
9.1 是否是个好Shader
9.1.1 良好的代码习惯
9.1.2 函数库
9.1.3 互不耦合的属性
9.1.4 小心容易忽略的风险
9.1.5 性能与效果的平衡
9.2 学习的路还很长