着色器主要有顶点着色器和片段着色器两种。计算机视觉既是工程领域,也是科学领域中的一个富有挑战性重要研究领域。本书将揭开着色器的神秘面纱,释放着色器的魔力。你可使用着色器将数据转换为令人惊叹的视觉效果,并在本书的指引下着手构建自己的着色器。学习如何使用着色器来移动、着色、点亮对象。本书介绍实际着色器的工作原理,展示如何创造令人瞠目结舌的视觉效果。将讨论如何分析和优化这些效果,以确保项目在所有新的视觉效果下快速运行。你会学到好的理论、好的实践,而不会陷入数学泥潭。本书通过紧贴实用的示例解释着色器开发的基本原理,讲述如何在着色器中找到和解决性能问题,分析当今很流行的游戏引擎。
章 初识游戏图形
1.1 什么是渲染
1.2 网格是什么
1.3 向量入门
1.4 在计算机图形学中定义颜色
1.5 渲染管线
1.6 着色器是什么
1.7 小结
第2章 个着色器
2.1 在Windows上安装
2.2 创建项目
2.3 创建个三角形
2.4 个顶点着色器
2.4.1 #version预处理器指令
2.4.2 GLSL的in关键字
2.4.3 GLSL的vec数据类型
2.4.4 写入gl_Position
2.4.5 归一化的设备坐标
2.5 个片元着色器
2.6 在项目中使用着色器
2.7 使用顶点属性添加颜色
2.8 片元插值介绍
2.9 统一变量介绍
2.10 小结
第3章 使用纹理
3.1 创建四边形
3.2 UV坐标介绍
3.3 在着色器中使用纹理
3.4 滚动UV坐标
3.5 使用统一变量调节亮度
3.6 基本的颜色数学
3.7 使用mix指令混合纹理
3.8 小结
第4章 半透明与深度
4.1 设置示例项目
4.2 绘制小绿人
4.3 alpha测试和丢弃
4.4 使用深度测试构建场景
4.5 使用alpha混合创建云朵
4.6 GLSL的min()函数和max()函数
4.7 alpha混合的工作原理
4.8 使用加法混合添加太阳光
4.9 使用精灵表制作动画
4.10 小结
……
第5章 使物体动起来
第6章 摄像机和坐标
第7章 个3D项目
第8章 漫反射光照
第9章 个光照模型
0章 法线贴图
1章 立方体贴图和天空盒
2章 深入光照
3章 剖析着色器性能
4章 优化着色器
5章 精度
6章 在Unity中编写着色器
7章 在UE4中编写着色器
8章 在Godot中编写着色器
附录A 重要代码片段
凯尔·哈拉迪(Kyle Halladay),是一名职业游戏程序员,居住在美国芝加哥市。在为游戏和建筑可视化编写着色器和构建图形技术方面,Kyle拥有七年以上的工作经验。