主编推荐语
本书适合Unity初学者、游戏开发者、程序员,也可以作为大专院校相关专业师生的学习用书,以及培训学校的培训教材。
内容简介
本书的主要内容为:第1章讲解了学习Unity Shader应该从哪里着手;第2章讲解了现代GPU是如何实现整个渲染流水线的,这对理解Shader的工作原理有着非常重要的作用;第3章讲解Unity Shader的实现原理和基本语法;第4章学习Shader所需的数学知识,帮助读者克服学习Unity Shader时遇到的数学障碍;第5章通过实现一个简单的顶点/片元着色器案例,讲解常用的辅助技巧等;
第6章学习如何在Shader中实现基本的光照模型;第7章讲述了如何在Unity Shader中使用法线纹理、遮罩纹理等基础纹理;第8章学习如何实现透明度测试和透明度混合等透明效果;第9章讲解复杂的光照实现;第10章讲解在Unity Shader中使用立方体纹理、渲染纹理和程序纹理等高级纹理;第11章学习用Shader实现纹理动画、顶点动画等动态效果;第12章讲解了屏幕后处理效果的屏幕特效;
第13章使用深度纹理和法线纹理实现更多屏幕特效;第14章讲解非真实感渲染的算法,如卡通渲染、素描风格的渲染等;第15章讲解噪声在游戏渲染中的应用;第16章介绍了常见的优化技巧;第17章介绍用表面着色器实现渲染;第18章讲解基于物理渲染的技术;第19章讲解在升级Unity 5时可能出现的问题,并给出解决方法;第20章介绍许多非常有价值的学习资料,以帮助读者进行更深入的学习。
目录
- 版权信息
- 内容提要
- 前言
- 第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 参考文献
- 欢迎来到异步社区!
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。