DirectX 12 3D 游戏开发实战

DirectX 12 3D 游戏开发实战

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

编辑推荐

本书讲解如何使用DirectX12进行3D游戏的开发,从基础开始,由浅入深地引导你进行学习。

内容简介

Direct3D是微软公司DirectX SDK集成开发包中的重要组成部分,是编写高性能3D图形应用程序的渲染库,适用于多媒体、娱乐、即时3D动画等广泛和实用的3D图形计算领域。

本书围绕交互式计算机图形学这一主题展开,着重介绍Direct3D的基础知识和着色器编程的方法,并介绍了如何利用Direct3D来实现各种有趣的技术与特效,旨在为读者学习图形技术奠定坚实的基础。

本书包括3部分内容。第一部分介绍数学知识,涵盖向量代数、矩阵代数和变换等内容。这是贯穿全书的数学工具,是读者需要掌握的基础内容。第二部分重点介绍Direct3D的基础知识,展示用Direct3D来实现绘图任务的基本概念与技术,如渲染流水线、纹理贴图、混合、曲面细分等。第三部分则利用Direct3D来实现各种有趣的特效,如实例化与视锥体剔除、阴影贴图、环境光遮蔽等。

本书适合希望通过Direct3D来学习3D编程的C++中级程序员阅读,也可供已对Direct3D有一定了解或具有非DirectX API使用经验的3D程序员参考。

作者简介

作者弗兰克·D·卢娜,毕业于加利福尼亚大学欧文分校,获得数学学士学位,具备着超过15年的DirectX交互式图形学编程经验,著有3本DirectX畅销书,曾从事3D医疗可视化、3D建筑设计软件以及游戏相关工作。

章节目录

版权信息

内容提要

前言

本书受众

预备知识

需要配备的开发工具以及硬件环境

使用DirectX SDK文档以及SDK示例

明确学习目的

例程与在线补充材料

通过Visual Studio 2015安装演示项目

资源与支持

配套资源

提交勘误

与我们联系

关于异步社区和异步图书

致谢

第一部分 必备的数学知识

第1章 向量代数

1.1 向量

1.2 长度和单位向量

1.3 点积

1.4 叉积

1.5 点

1.6 利用DirectXMath库进行向量运算

1.7 小结

1.8 练习

第2章 矩阵代数

2.1 矩阵的定义

2.2 矩阵乘法

2.3 转置矩阵

2.4 单位矩阵

2.5 矩阵的行列式

2.6 伴随矩阵

2.7 逆矩阵

2.8 用DirectXMath库处理矩阵

2.9 小结

2.10 练习

第3章 变换

3.1 线性变换

3.2 仿射变换

3.3 变换的复合

3.4 坐标变换

3.5 变换矩阵与坐标变换矩阵

3.6 DirectXMath库提供的变换函数

3.7 小结

3.8 练习

第二部分 Direct3D基础

第4章 Direct3D的初始化

4.1 预备知识

4.2 CPU与GPU间的交互

4.3 初始化Direct3D

4.4 计时与动画

4.5 应用程序框架示例

4.6 调试Direct3D应用程序

4.7 小结

第5章 渲染流水线

5.1 3D视觉即错觉?

5.2 模型的表示

5.3 计算机色彩基础

5.4 渲染流水线概述

5.5 输入装配器阶段

5.6 顶点着色器阶段

5.7 曲面细分阶段

5.8 几何着色器阶段

5.9 裁剪

5.10 光栅化阶段

5.11 像素着色器阶段

5.12 输出合并阶段

5.13 小结

5.14 练习

第6章 利用Direct3D绘制几何体

6.1 顶点与输入布局

6.2 顶点缓冲区

6.3 索引和索引缓冲区

6.4 顶点着色器示例

6.5 像素着色器示例

6.6 常量缓冲区

6.7 编译着色器

6.8 光栅器状态

6.9 流水线状态对象

6.10 几何图形辅助结构体

6.11 立方体演示程序

6.12 小结

6.13 练习

第7章 利用Direct3D绘制几何体(续)

7.1 帧资源

7.2 渲染项

7.3 渲染过程中所用到的常量数据

7.4 不同形状的几何体

7.5 绘制多种几何体演示程序

7.6 细探根签名

7.7 陆地与波浪演示程序

7.8 小结

7.9 练习

第8章 光照

8.1 光照与材质的交互

8.2 法向量

8.3 参与光照计算的一些关键向量

8.4 朗伯余弦定律

8.5 漫反射光照

8.6 环境光照

8.7 镜面光照

8.8 光照模型的概述

8.9 材质的实现

8.10 平行光源

8.11 点光源

8.12 聚光灯光源

8.13 光照的具体实现

8.14 光照演示程序

8.15 小结

8.16 练习

第9章 纹理贴图

9.1 纹理与资源的回顾

9.2 纹理坐标

9.3 纹理数据源

9.4 创建以及启用纹理

9.5 过滤器

9.6 寻址模式

9.7 采样器对象

9.8 在着色器中对纹理进行采样

9.9 板条箱演示程序

9.10 纹理变换

9.11 附有纹理的山川演示程序

9.12 小结

9.13 练习

第10章 混合

10.1 混合方程

10.2 混合运算

10.3 混合因子

10.4 混合状态

10.5 混合示例

10.6 alpha通道

10.7 裁剪像素

10.8 雾

10.9 小结

10.10 练习

第11章 模板

11.1 深度/模板缓冲区的格式及其资源数据的清理

11.2 模板测试

11.3 描述深度/模板状态

11.4 实现平面镜效果

11.5 实现平面阴影

11.6 小结

11.7 练习

第12章 几何着色器

12.1 编写几何着色器

12.2 以公告牌技术实现森林效果

12.3 纹理数组

12.4 alpha-to-coverage技术

12.5 小结

12.6 练习

第13章 计算着色器

13.1 线程与线程组

13.2 一个简单的计算着色器

13.3 数据的输入与输出资源

13.4 线程标识的系统值

13.5 追加缓冲区与消费缓冲区

13.6 共享内存与线程同步

13.7 图像模糊演示程序

13.8 拓展资料

13.9 小结

13.10 练习

第14章 曲面细分阶段

14.1 曲面细分的图元类型

14.2 外壳着色器

14.3 镶嵌器阶段

14.4 域着色器

14.5 对四边形进行镶嵌化处理

14.6 三次贝塞尔四边形面片

14.7 小结

14.8 练习

第三部分 主题篇

第15章 构建第一人称视角的摄像机与动态索引

15.1 重温取景变换

15.2 摄像机类

15.3 摄像机类中的方法实现选讲

15.4 摄像机演示程序的若干注解

15.5 动态索引

15.6 小结

15.7 练习

第16章 实例化与视锥体剔除

16.1 硬件实例化

16.2 包围体与视锥体

16.3 视锥体剔除

16.4 小结

16.5 练习

第17章 拾取

17.1 屏幕空间到投影窗口的变换

17.2 位于世界空间与局部空间中的拾取射线

17.3 射线与网格的相交检测

17.4 应用例程

17.5 小结

17.6 练习

第18章 立方体贴图

18.1 什么是立方体贴图

18.2 环境贴图

18.3 绘制天空纹理

18.4 模拟反射

18.5 动态立方体图

18.6 用几何着色器绘制动态立方体图

18.7 小结

18.8 练习

第19章 法线贴图

19.1 使用法线贴图的动机

19.2 什么是法线贴图

19.3 纹理空间/切线空间

19.4 顶点切线空间

19.5 在切线空间与物体空间之间进行转换

19.6 法线贴图的着色器代码

19.7 小结

19.8 练习

第20章 阴影贴图

20.1 渲染场景深度

20.2 正交投影

20.3 投影纹理坐标

20.4 什么是阴影贴图

20.5 过大的PCF核

20.6 小结

20.7 练习

第21章 环境光遮蔽

21.1 通过投射光线实现环境光遮蔽

21.2 屏幕空间环境光遮蔽

21.3 小结

21.4 练习

第22章 四元数

22.1 复数回顾

22.2 四元数代数

22.3 单位四元数及其旋转操作

22.4 四元数插值

22.5 DirectX数学库中与四元数有关的函数

22.6 旋转演示程序

22.7 小结

22.8 练习

第23章 角色动画

23.1 框架层次

23.2 蒙皮网格

23.3 顶点混合

23.4 从文件中加载动画数据

23.5 角色动画演示程序

23.6 小结

23.7 练习

附录A Windows编程入门

A.1 概述

A.2 基本的Windows应用程序

A.3 讲解基本Windows应用程序的工作流程

A.4 一种更灵活的消息循环

A.5 小结

A.6 练习

附录B 高级着色器语言参考

B.1 变量类型

B.2 关键字与运算符

B.3 程序中的控制流

B.4 函数

附录C 解析几何学选讲

C.1 射线、直线以及线段

C.2 平行四边形

C.3 三角形

C.4 平面

C.5 练习

附录D 参考资料

DirectX 12 3D 游戏开发实战是2019年由人民邮电出版社出版,作者FrankD.luna。

得书感谢您对《DirectX 12 3D 游戏开发实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
新印象Unity2020游戏开发基础与实战 电子书
这是一本以技术讲解与项目实战为主的Unity游戏开发教程图书。
数艺社 游戏UI设计实战 电子书
游戏UI设计实用性教程,案例丰富,步骤讲解细致,帮助读者轻松学习游戏UI设计。 游戏图标的设计、游戏界面的设计、界面风格的确定等在本书中均有详细介绍,学习更全面。 小清新、可爱、特效、酷炫,风格多样。设计原则与应用技巧结合,学以致用。
Unity2017虚拟现实开发标准教程 电子书
这是一本专为虚拟现实开发初中级读者打造的教程,也是经Unity公司审定的官方教程。
Cocos2d-JS游戏开发 电子书
结合多个实例详细介绍Cocos2d-JS游戏开发。
Unity5.X3D游戏开发技术详解与典型案例 电子书
本书对Unity 3D集成开发环境界面、脚本的编写和众多高级特效的实现进行了详细介绍,内容深入浅出,是一本适合不同需求、不同开发水平读者的技术宝典。