类似推荐
编辑推荐
本书适合Unity初学者、游戏开发者、程序员,也可以作为大专院校相关专业师生的学习用书,以及培训学校的培训教材。
内容简介
内 容 提 要
本书不仅要教会读者如何使用Unity Shader,更重要的是要帮助读者学习Unity中的一些渲染机制以及如何使用Unity Shader实现各种自定义的渲染效果,希望这本书可以为读者打开一扇新的大门,让读者离制作心目中杰出游戏的心愿更近一步。
本书的主要内容为:第 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章介绍许多非常有价值的学习资料,以帮助读者进行更深入的学习。
本书适合Unity初学者、游戏开 发者、程序员,也可以作为大专院校相关专业师生的学习用书,以及培训学校的培训教材。
作者简介
作者冯乐乐,一只喜欢计算机图形的程序员。上海交通大学软件学院研究生,爱好写shader,喜欢一切用计算机绘画的技术。
章节目录
版权信息
内容提要
前言
第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 参考文献
欢迎来到异步社区!
Unity Shader 入门精要是2016年由人民邮电出版社出版,作者冯乐乐。
得书感谢您对《Unity Shader 入门精要》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。