封面
版权信息
案例效果图
内容提要
前言
第1篇 基础篇
第1章 欢迎来到Shader的世界
1.1 程序员的三大浪漫
1.2 本书结构
第2章 渲染流水线
2.1 综述
2.2 CPU和GPU之间的通信
2.3 GPU流水线
2.4 一些容易困惑的地方
2.5 那么,你明白什么是Shader了吗
2.6 扩展阅读
第3章 Unity Shader基础
3.1 Unity Shader概述
3.2 Unity Shader的基础:ShaderLab
3.3 Unity Shader的结构
3.4 Unity Shader的形式
3.5 本书使用的Unity Shader形式
3.6 答疑解惑
3.7 扩展阅读
第4章 学习Shader所需的数学基础
4.1 背景:农场游戏
4.2 笛卡儿坐标系
4.3 点和矢量
4.4 矩阵
4.5 矩阵的几何意义:变换
4.6 坐标空间
4.7 法线变换
4.8 Unity Shader的内置变量(数学篇)
4.9 答疑解惑
4.10 扩展阅读
4.11 练习题答案
第2篇 初级篇
第5章 开始Unity Shader学习之旅
5.1 本书使用的软件和环境
5.2 一个最简单的顶点/片元着色器
5.3 强大的援手:Unity提供的内置文件和变量
5.4 Unity提供的CG/HLSL语义
5.5 程序员的烦恼:Debug
5.6 小心:渲染平台的差异
5.7 Shader整洁之道
5.8 扩展阅读
第6章 Unity中的基础光照
6.1 我们是如何看到这个世界的
6.2 标准光照模型
6.3 Unity中的环境光和自发光
6.4 在Unity Shader中实现漫反射光照模型
6.5 在Unity Shader中实现高光反射光照模型
6.6 召唤神龙:使用Unity内置的函数
第7章 基础纹理
7.1 单张纹理
7.2 凹凸映射
7.3 渐变纹理
7.4 遮罩纹理
第8章 透明效果
8.1 为什么渲染顺序很重要
8.2 Unity Shader的渲染顺序
8.3 透明度测试
8.4 透明度混合
8.5 开启深度写入的半透明效果
8.6 ShaderLab的混合命令
8.7 双面渲染的透明效果
第3篇 中级篇
第9章 更复杂的光照
9.1 Unity的渲染路径
9.2 Unity的光源类型
9.3 Unity的光照衰减
9.4 Unity的阴影
9.5 本书使用的标准Unity Shader
第10章 高级纹理
10.1 立方体纹理
10.2 渲染纹理
10.3 程序纹理
第11章 让画面动起来
11.1 Unity Shader中的内置变量(时间篇)
11.2 纹理动画
11.3 顶点动画
第4篇 高级篇
第12章 屏幕后处理效果
12.1 建立一个基本的屏幕后处理脚本系统
12.2 调整屏幕的亮度、饱和度和对比度
12.3 边缘检测
12.4 高斯模糊
12.5 Bloom效果
12.6 运动模糊
12.7 扩展阅读
第13章 使用深度和法线纹理
13.1 获取深度和法线纹理
13.2 再谈运动模糊
13.3 全局雾效
13.4 再谈边缘检测
13.5 扩展阅读
第14章 非真实感渲染
14.1 卡通风格的渲染
14.2 素描风格的渲染
14.3 扩展阅读
14.4 参考文献
第15章 使用噪声
15.1 消融效果
15.2 水波效果
15.3 再谈全局雾效
15.4 扩展阅读
15.5 参考文献
第16章 Unity中的渲染优化技术
16.1 移动平台的特点
16.2 影响性能的因素
16.3 Unity中的渲染分析工具
16.4 减少draw call数目
16.5 减少需要处理的顶点数目
16.6 减少需要处理的片元数目
16.7 节省带宽
16.8 减少计算复杂度
16.9 扩展阅读
第5篇 扩展篇
第17章 Unity的表面着色器探秘
17.1 表面着色器的一个例子
17.2 编译指令
17.3 两个结构体
17.4 Unity背后做了什么
17.5 表面着色器实例分析
17.6 Surface Shader的缺点
第18章 基于物理的渲染
18.1 PBS的理论和数学基础
18.2 Unity 5的Standard Shader
18.3 一个更加复杂的例子
18.4 答疑解惑
18.5 扩展阅读
18.6 参考文献
第19章 Unity 5更新了什么
19.1 场景“更亮了”
19.2 表面着色器更容易“报错了”
19.3 当家做主:自己控制非统一缩放的网格
19.4 固定管线着色器逐渐退出舞台
第20章 还有更多内容吗
20.1 如果你想深入了解渲染的话
20.2 世界那么大
20.3 参考文献
本书特色
更新时间:2019-03-07 12:58:56