内容简介
《Unity 3D ShaderLab开发实战详解》全面讲解了Unity Shader渲染的实战技术,全书分为五篇共33章,主要内容为:Shader在3D游戏中的作用、Shader的实例化、Shader的实现语言等;Unity中Shader的形态、SubShader的重要标签、可编程Shader、Surface Shader;Shader中用到的各种空间的概念和Shader中的投影矩阵;基本的光照模型;第一个被执行的Pass,包括渲染路径和Pass的LightMode标签;VertexLit渲染路径,包括顶点照明和Unity存放光源的方式;Forward渲染路径;基于光照贴图的烘焙照明;基于LightProbes的照明;平面阴影;球体阴影;体积阴影;映射阴影;内置的阴影;Pass的通用指令开关;固定管线;Surface Shader;凹凸材质;卡通材质;镜面材质;半透明材质;体积雾;Wrap Model新解;面积光;体积光;材质替代渲染;后期效果;地形;投影;Shader的组织和复用。和你必须知道的渲染概念及基于渲染路径的优化、移动平台上的优化等实战内容,是不可多得的实战教程。
《Unity 3D ShaderLab开发实战详解》适合移动开发者、游戏开发者、程序员阅读,可作为大专院校相关专业的师生用书,也可当作培训学校的教材。
目录
"目 录
第1篇 初识庐山真面目——Unity 3D Shader
第1章 Shader(着色器)的概念和在3D游戏中的作用
1.1 Shader的概念
1.1.1 虚拟世界中的光明和色彩
1.1.2 游戏开发人员的终点
1.1.3 Shader(着色器)简史
1.2 Shader的实例化
1.3 Shader的实现语言
1.3.1 GPU上的编程
1.3.2 Unity中的着色器编程
第2章 Unity中Shader(着色器)的形态
2.1 Unity通过ShaderLab来组织Shader
2.1.1 关键字Shader
2.1.2 使用SubShader组织Shader的不同实现
2.1.3 SubShader的重要标签
2.1.4 SubShader中的Pass块
2.1.5 Pass块的标签及其名字的意义
2.1.6 使用FallBack保证Shader的广泛适应性
2.2 Unity的ShaderLab所支持的Shader编程语言
2.3 Unity中Shader的3种形态
2.3.1 固定管线
2.3.2 可编程Shader
2.3.3 ShaderLab的骄傲:Surface Shader
2.4 Shader的数据接口:属性和uniform变量
2.4.1 在Properties块中定义属性
2.4.2 通过图形界面操作属性
2.4.3 通过脚本操控属性
2.4.4 矩阵:不能在属性块定义的变量
2.4.5 在Cg代码中使用属性
第3章 Shader(着色器)中用到的各种空间概念
3.1 模型空间
3.1.1 为什么用模型空间
3.1.2 在脚本和Shader中进出模型空间
3.2 世界坐标空间
3.2.1 统一表达:世界坐标空间
3.2.2 在脚本和Shader中进出世界坐标空间
3.3 视空间
3.3.1 渲染的需要:视空间
3.3.2 在脚本和Shader中进出视空间
3.4 空间的一块:视锥体
3.5 剪切空间
3.5.1 投影
3.5.2 脚本和Shader中的投影矩阵
第4章 基本的光照模型
4.1 光源对物体照明的分类
4.1.1 间接照明
4.1.2 直接照明
4.2 照明的计算方式:光照模型
4.2.1 漫反射和Lambert
4.2.2 镜面高光和Phong
4.2.3 半角向量和BlinnPhong
第2篇 让你的应用更炫彩——Unity中的照明
第5章 第一个被执行的Pass
5.1 不同的LightMode被选择的顺序
5.1.1 渲染路径和Pass的LightMode标签
5.1.2 设计可以检测渲染路径的材质
5.1.3 设计便于检测渲染路径的场景
5.1.4 VertexLit渲染路径下Pass的执行
5.1.5 Forward渲染路径下Pass的执行
5.1.6 Deferred渲染路径下Pass的执行
5.1.7 不同渲染路径下的Pass执行规则总结
5.2 3个渲染路径之外
5.2.1 LightMode的其他值
5.2.2 设计检测用的材质
5.2.3 Always类型的Pass在3种渲染路径下的执行
5.2.4 LightMode的默认值及其在3种渲染路径下的执行
第6章 VertexLit渲染路径
6.1 顶点照明
6.1.1 什么是顶点照明
6.1.2 存取光源的变量
6.2 顶点照明和Unity存放光源的第一种方式
6.2.1 用于调试输出的材质
6.2.2 设计用于检测的场景
6.2.3 在Vertex Pass中的检测结果
6.2.4 效数据
6.3 顶点照明和Unity