本篇主要提供2本 C++游戏编程入门 第4版 DirectX 12 3D 游戏开发实战电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com
C++游戏编程入门(第4版) | ||
定价 | 59.00 | |
出版社 | 人民邮电出版社 | |
版次 | 1 | |
出版时间 | 2015年08月 | |
开本 | 16开 | |
作者 | [美] 道森(Michael Dawson) 著;李军 译 | |
装帧 | 平装 | |
页数 | 334 | |
字数 | 412000 | |
ISBN编码 | 9787115396396 |
DirectX 12 3D 游戏开发实战 | ||
定价 | 148.00 | |
出版社 | 人民邮电出版社 | |
版次 | dy 版 | |
出版时间 | 2018年12月 | |
开本 | 16开 | |
作者 | 弗兰克·D 卢娜 | |
装帧 | 平装 | |
页数 | 742 | |
字数 | 1186 | |
ISBN编码 | 9787115479211 |
《C++游戏编程入门(第4版)》从游戏编程的角度介绍C++语言,既独具匠心又妙趣横生。全书共10章,每章介绍C++语言的一个或数个重要的知识领域,同时通过一个游戏示例项目的开发进行实践和讲解。每章的结尾,会在一个游戏项目中将一些重要的概念组合起来。 后一章的游戏将综合运用本书介绍的概念与技巧,创建一个相对复杂的游戏,涵盖了本书介绍过的所有主要概念。随着学习的深入,读者将学会如何组织编程项目,如何将问题分解为可管理的子问题块,以及如何精炼代码。本书适合任何想编写游戏的读者,主要针对初学者,并假设读者之前没有任何编程经验。通过阅读本书,并在实验中实践,读者将为掌握C++这门语言并为游戏编程打下坚实的基础。
《DirectX 12 3D 游戏开发实战》Direct3D是微软公司DirectX SDK集成开发包中的重要组成部分,是编写高性能3D图形应用程序的渲染库,适用于多媒体、娱乐、即时3D 等广泛和实用的3D图形计算领域。 本书围绕交互式计算机图形学这一主题展开,着重介绍Direct3D的基础知识和着色器编程的方法,并介绍了如何利用Direct3D来实现各种有趣的技术与特效,旨在为读者学习图形技术奠定坚实的基础。本书包括3部分内容。dy部分介绍数学知识,涵盖向量代数、矩阵代数和变换等内容。这是贯穿全书的数学工具,是读者需要掌握的基础内容。第二部分重点介绍Direct3D的基础知识,展示用Direct3D来实现绘图任务的基本概念与技术,如渲染流水线、纹理贴图、混合、曲面细分等。第三部分则利用Direct3D来实现各种有趣的特效,如实例化与视锥体剔除、阴影贴图、环境光遮蔽等。 本书适合希望通过Direct3D来学习3D编程的C++中级程序员阅读,也可供已对Direct3D有一定了解或具有非DirectX API使用经验的3D程序员参考。
DirectX 12 3D 游戏开发实战
部分 备的数学知识
第 1章 向量代数 3
1.1 向量 3
1.1.1 向量与坐标系 4
1.1.2 左 坐标系与右 坐标系 5
1.1.3 向量的基本运算 6
1.2 长度和单位向量 8
1.3 点积 9
1.4 叉积 12
1.4.1 2D向量的伪叉积 13
1.4.2 通过叉积来进行正交化处理 13
1.5 点 14
1.6 利用DirectXMath库进行向量运算 15
1.6.1 向量类型 16
1.6.2 加载方法和存储方法 17
1.6.3 参数的传递 18
1.6.4 常向量 20
1.6.5 重载运算符 21
1.6.6 杂项 21
1.6.7 Setter函数 21
1.6.8 向量函数 23
1.6.9 浮点数误差 26
1.7 小结 28
1.8 练习 29
第 2章 矩阵代数 34
2.1 矩阵的定义 34
2.2 矩阵乘法 36
2.2.1 定义 36
2.2.2 向量与矩阵的乘法 37
2.2.3 结合律 37
2.3 转置矩阵 38
2.4 单位矩阵 38
2.5 矩阵的行列式 39
2.5.1 余子阵 40
2.5.2 行列式的定义 40
2.6 伴随矩阵 41
2.7 逆矩阵 42
2.8 用DirectXMath库处理矩阵 43
2.8.1 矩阵类型 44
2.8.2 矩阵函数 46
2.8.3 DirectXMath矩阵示例程序 47
2.9 小结 49
2.10 练习 49
第3章 变换 52
3.1 线性变换 52
3.1.1 定义 52
3.1.2 矩阵表示法 53
3.1.3 缩放 53
3.1.4 旋转 55
3.2 仿射变换 58
3.2.1 齐次坐标 58
3.2.2 仿射变换的定义及其矩阵
表示 58
3.2.3 平移 59
3.2.4 缩放和旋转的仿射矩阵 61
3.2.5 仿射变换矩阵的几何意义 61
3.3 变换的复合 62
3.4 坐标变换 63
3.4.1 向量的坐标变换 64
3.4.2 点的坐标变换 65
3.4.3 坐标变换的矩阵表示 66
3.4.4 坐标变换矩阵及其结合律 66
3.4.5 坐标变换矩阵及其逆矩阵 67
3.5 变换矩阵与坐标变换矩阵 68
3.6 DirectXMath库提供的变换函数 69
3.7 小结 70
3.8 练习 71
第二部分 Direct3D基础
第4章 Direct3D的初始化 77
4.1 预备知识 77
4.1.1 Direct3D 12概述 77
4.1.2 组件对象模型 78
4.1.3 纹理格式 79
4.1.4 交换链和页面翻转 80
4.1.5 深度缓冲 81
4.1.6 资源与描述符 83
4.1.7 多重采样技术的原理 85
4.1.8 利用Direct3D进行多重采样 87
4.1.9 功能级别 88
4.1.10 DirectX图形基础结构 89
4.1.11 功能支持的检测 92
4.1.12 资源驻留 93
4.2 CPU与GPU间的交互 94
4.2.1 命令队列和命令列表 94
4.2.2 CPU与GPU间的同步 98
4.2.3 资源转换 100
4.2.4 命令与多线程 101
4.3 初始化Direct3D 102
4.3.1 创建设备 102
4.3.2 创建围栏并获取描述符的
大小 104
4.3.3 检测对4X MSAA质量级别的
支持 104
4.3.4 创建命令队列和命令列表 105
4.3.5 描述并创建交换链 105
4.3.6 创建描述符堆 107
4.3.7 创建渲染目标视图 108
4.3.8 创建深度/模板缓冲区及其
视图 110
4.3.9 设置视口 114
4.3.10 设置裁剪矩形 115
4.4 计时与 116
4.4.1 性能计时器 116
4.4.2 游戏计时器类 117
4.4.3 帧与帧之间的时间间隔 118
4.4.4 总时间 120
4.5 应用程序框架示例 123
4.5.1 D3DApp类 123
4.5.2 非框架方法 126
4.5.3 框架方法 127
4.5.4 帧的统计信息 128
4.5.5 消息处理函数 130
4.5.6 “初始化Direct3D演示”
程序 131
4.6 调试Direct3D应用程序 135
4.7 小结 137
第5章 渲染流水线 139
5.1 3D视觉即错觉? 140
5.2 模型的表示 141
5.3 计算机色彩基础 142
5.3.1 颜色运算 143
5.3.2 128位颜色 143
5.3.3 32位颜色 144
5.4 渲染流水线概述 145
5.5 输入装配器阶段 147
5.5.1 顶点 147
5.5.2 图元拓扑 147
5.5.3 索引 151
5.6 顶点着色器阶段 152
5.6.1 局部空间和世界空间 153
5.6.2 观察空间 156
5.6.3 投影和齐次裁剪空间 158
5.7 曲面细分阶段 164
5.8 几何着色器阶段 165
5.9 裁剪 165
5.10 光栅化阶段 167
5.10.1 视口变换 167
5.10.2 背面剔除 167
5.10.3 顶点属性插值 169
5.11 像素着色器阶段 170
5.12 输出合并阶段 170
5.13 小结 171
5.14 练习 171
第6章 利用Direct3D绘制几何体 175
6.1 顶点与输入布局 175
6.2 顶点缓冲区 178
6.3 索引和索引缓冲区 183
6.4 顶点着色器示例 187
6.5 像素着色器示例 192
6.6 常量缓冲区 195
6.6.1 创建常量缓冲区 195
6.6.2 更新常量缓冲区 198
6.6.3 上传缓冲区辅助函数 198
6.6.4 常量缓冲区描述符 201
6.6.5 根签名和描述符表 202
6.7 编译着色器 206
6.7.1 离线编译 208
6.7.2 生成着色器汇编代码 210
6.7.3 利用Visual Studio离线编译
着色器 212
6.8 光栅器状态 213
6.9 流水线状态对象 214
6.10 几何图形辅助结构体 217
6.11 立方体演示程序 219
6.12 小结 229
6.13 练习 230
第7章 利用Direct3D绘制几何体(续) 235
7.1 帧资源 235
7.2 渲染项 238
7.3 渲染过程中所用到的常量数据 239
7.4 不同形状的几何体 242
7.4.1 生成柱体网格 244
7.4.2 生成球体网格 248
7.4.3 生成几何球体网格 249
7.5 绘制多种几何体演示程序 251
7.5.1 顶点缓冲区和索引缓冲区 252
7.5.2 渲染项 255
7.5.3 帧内资源和常量缓冲区视图 257
7.5.4 绘制场景 260
7.6 细探根签名 262
7.6.1 根参数 263
7.6.2 描述符表 264
7.6.3 根描述符 266
7.6.4 根常量 267
7.6.5 更复杂的根签名示例 269
7.6.6 根参数的版本控制 270
7.7 陆地与波浪演示程序 271
7.7.1 生成栅格顶点 273
7.7.2 生成栅格索引 274
7.7.3 应用计算高度的函数 275
7.7.4 根常量缓冲区视图 277
7.7.5 动态顶点缓冲区 279
7.8 小结 281
7.9 练习 282
第8章 光照 283
8.1 光照与材质的交互 283
8.2 法向量 285
8.2.1 计算法向量 286