由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
[正版] C++游戏编程创建3D游戏开发案例实战 利用C++进行3D电子游戏编程方法电子游戏开发编程从入门到精通 游戏
¥ ×1
店铺公告
为保障消费者合理购买需求及公平交易机会,避免因非生活消费目的的购买货囤积商品,抬价转售等违法行为发生,店铺有权对异常订单不发货且不进行赔付。异常订单:包括但不限于相同用户ID批量下单,同一用户(指不同用户ID,存在相同/临近/虚构收货地址,或相同联系号码,收件人,同账户付款人等情形的)批量下单(一次性大于5本),以及其他非消费目的的交易订单。
温馨提示:请务必当着快递员面开箱验货,如发现破损,请立即拍照拒收,如验货有问题请及时联系在线客服处理,(如开箱验货时发现破损,所产生运费由我司承担,一经签收即为货物完好,如果您未开箱验货,一切损失就需要由买家承担,所以请买家一定要仔细验货)。
关于退货运费:对于下单后且物流已发货货品在途的状态下,原则上均不接受退货申请,如顾客原因退货需要承担来回运费,如因产品质量问题(非破损问题)可在签收后,联系在线客服。
|
C++游戏编程 创建3D游戏 | ||
定价 | 99.00 | |
出版社 | 人民邮电出版社 | |
版次 | dy 版 | |
出版时间 | 2019年10月 | |
开本 | 16 | |
作者 | 桑贾伊·马达夫 | |
装帧 | 平装 | |
页数 | 399 | |
字数 | 613000 | |
ISBN编码 | 9787115514066 |
第 1章 游戏编程概述 1
1.1 设置开发环境 1
1.1.1 Microsoft Windows 1
1.1.2 Apple macOS 2
1.2 获取本书的源代码 2
1.3 C++标准库以外的程序库 2
1.4 游戏循环和Game类 3
1.4.1 关于“帧”的详解 3
1.4.2 实现一个骨骼Game类 5
1.4.3 Main函数 8
1.4.4 基本输入处理 9
1.5 基本的2D图形 11
1.5.1 颜色缓冲区 12
1.5.2 双缓冲区 13
1.5.3 实现基本的2D图形 15
1.5.4 绘制墙壁、一个球和一支球拍 17
1.6 更新游戏 19
1.6.1 真实时间和游戏时间 19
1.6.2 根据增量时间的游戏逻辑 19
1.6.3 更新球拍的位置 21
1.6.4 更新球的位置 22
1.7 游戏项目 25
1.8 总结 25
1.9 补充阅读材料 25
1.10 练习题 26
1.10.1 练习题1 26
1.10.2 练习题2 26
第 2章 游戏对象和2D图形 27
2.1 游戏对象 27
2.1.1 游戏对象的类型 27
2.1.2 游戏对象模型 28
2.1.3 将游戏对象融入游戏循环中 32
2.2 精灵 34
2.2.1 加载图像文件 34
2.2.2 绘制精灵 36
2.2.3 精灵 39
2.3 gun动背景 41
2.4 游戏项目 43
2.5 总结 44
2.6 补充阅读材料 45
2.7 练习题 45
2.7.1 练习题1 45
2.7.2 练习题2 45
2.7.3 练习题3 46
第3章 向量和基础物理 47
3.1 向量 47
3.1.1 获得两点之间的向量:减法 48
3.1.2 向量缩放:标量乘法 49
3.1.3 合并两个向量:加法 49
3.1.4 确定距离:长度 50
3.1.5 确定方向:单位向量和标准化 51
3.1.6 将角度转换为前向向量 52
3.1.7 将前向向量转换为角度:反正切 52
3.1.8 确定两个向量之间的角度:点积 53
3.1.9 计算法线:叉积 54
3.2 基本运动 56
3.2.1 创建一个BasicMoveComponent类 56
3.2.2 创建一个InputComponent类 59
3.3 牛顿物理学 62
3.3.1 线性力学概述 62
3.3.2 用欧拉积分计算位置 63
3.3.3 关于可变步长的问题 63
3.4 基本碰撞检测 64
3.4.1 圆与圆的交集 64
3.4.2 创建一个CircleComponent子类 65
3.5 游戏项目 66
3.6 总结 68
3.7 补充阅读材料 68
3.8 练习题 68
3.8.1 练习题1 69
3.8.2 练习题2 69
3.8.3 练习题3 70
第4章 人工智能 71
4.1 状态机行为 71
4.1.1 设计状态机 71
4.1.2 基本状态机的实现 72
4.1.3 以类表示的状态 73
4.2 寻路 76
4.2.1 图形 77
4.2.2 广度优先搜索 78
4.2.3 heuristics函数 81
4.2.4 贪婪 优先搜索 83
4.2.5 A*搜索 87
4.2.6 迪杰斯特拉算法 89
4.2.7 跟随路径 90
4.2.8 其他图形表示法 91
4.3 游戏树 92
4.3.1 极大极小算法 93
4.3.2 处理不完整的游戏树 95
4.3.3 α-β剪枝算法 96
4.4 游戏项目 98
4.5 总结 99
4.6 补充阅读材料 100
4.7 练习题 100
4.7.1 练习题1 100
4.7.2 练习题2 101
第5章 开放图形库(OpenGL) 102
5.1 初始化OpenGL 102
5.1.1 设置OpenGL窗口 102
5.1.2 OpenGL上下文和初始化GLEW 104
5.1.3 渲染帧 105
5.2 三角形基础 105
5.2.1 为何选择多边形 105
5.2.2 标准化设备坐标 106
5.2.3 顶点和索引缓冲区 106
5.3 着色器 110
5.3.1 顶点着色器 111
5.3.2 片段着色器 111
5.3.3 编写基本着色器 111
5.3.4 加载着色器 113
5.3.5 绘制三角形 117
5.4 变换基础 119
5.4.1 对象空间 120
5.4.2 世界空间 120
5.4.3 变换为世界空间 121
5.5 矩阵与变换 124
5.5.1 矩阵乘法 124
5.5.2 使用矩阵来变换点 124
5.5.3 变换为世界空间,再现 126
5.5.4 将世界变换添加到Actor类 128
5.5.5 从世界空间变换到剪辑空间 130
5.5.6 更新着色器以使用变换矩阵 131
5.6 纹理映射 135
5.6.1 加载纹理 136
5.6.2 更新顶点格式 139
5.6.3 更新着色器 140
5.6.4 Alpha混合 143
5.7 游戏项目 145
5.8 总结 145
5.9 补充阅读材料 146
5.10 练习题 146
5.10.1 练习题1 146
5.10.2 练习题2 146
第6章 3D图形 147
6.1 3D中的Actor变换 147
6.1.1 3D变换矩阵 147
6.1.2 欧拉角 148
6.1.3 四元数 149
6.1.4 运行中新的Actor变换 151
6.2 加载3D模型 152
6.2.1 选择网格模型格式 153
6.2.2 更新顶点属性 155
6.2.3 加载gpmesh wen件 156
6.3 绘制3D网格 157
6.3.1 变换到剪辑空间,重访 158
6.3.2 走出画家算法,进入Z缓冲 161
6.3.3 BasicMesh着色器 164
6.3.4 MeshComponent类 164
6.4 光照 167
6.4.1 再访顶点属性 167
6.4.2 光照的类型 167
6.4.3 Phong反射模型 169
6.4.4 实现光照 171
6.5 游戏项目 175
6.6 总结 175
6.7 补充阅读材料 176
6.8 练习题 176
6.8.1 练习题1 176
6.8.2 练习题2 177
第7章 音频 178
7.1 引导音频 178
7.1.1 FMOD 179
7.1.2 安装FMOD软件 179
7.1.3 创建一个音频系统 180
7.1.4 储存库和事件 182
7.1.5 SoundEvent类 185
7.2 3D位置音频 188
7.2.1 设置基本侦听器 189
7.2.2 向SoundEvent类添加位置功能 191
7.2.3 创建AudioComponent类,使角色和声音事件相关联 192
7.2.4 第三人称游戏中的侦听器 193
7.2.5 多普勒效应 194
7.3 混合和效果 195
7.3.1 总线 196
7.3.2 快照 196
7.3.3 阻塞 197
7.4 游戏项目 198
7.5 总结 198
7.6 补充阅读材料 199
7.7 练习题 199
7.7.1 练习题1 199
7.7.2 练习题2 199
第8章 输入系统 200
8.1 输入设备 200
8.1.1 轮询 200
8.1.2 正沿和负沿 201
8.1.3 事件 203
8.1.4 基本InputSystem架构 203
8.2 键盘输入 205
8.3 鼠标输入 208
8.3.1 鼠标按键和鼠标位置 208
8.3.2 相对移动 210
8.3.3 鼠标gun动轮 211
8.4 控制器输入 212
8.4.1 启用单一控制器 212
8.4.2 按键 213
8.4.3 模拟摇杆和扳机 215
8.4.4 过滤二维中的模拟摇杆 217
8.4.5 支持多个控制器 219
8.5 输入映射 220
8.6 游戏项目 221
8.7 总结 222
8.8 补充阅读材料 223
8.9 练习题 223
8.9.1 练习题1 223
8.9.2 练习题2 223
第9章 相机 224
9.1 人称相机 224
9.1.1 基本的 人称移动 224
9.1.2 无俯仰角度的相机 226
9.1.3 加入俯仰角度的相机 226
9.1.4 人称模型 228
9.2 跟拍相机 229
9.2.1 基本跟拍相机 229
9.2.2 添加弹簧 231
9.3 轨道相机 233
9.4 样条曲线相机 236
9.5 逆投影 239
9.6 游戏项目 241
9.7 总结 242
9.8 补充阅读材料 242
9.9 练习题 242
9.9.1 练习题1 243
9.9.2 练习题2 243
第 10章 碰撞检测 244
10.1 几何(体)类型 244
10.1.1 线段 244
10.1.2 平面 247
10.1.3 包围体 248
10.2 相交测试 252
10.2.1 包含点测试 252
10.2.2 包围框测试 254
10.2.3 线段相交测试 257
10.2.4 动态对象 263
10.3 向游戏代码添加碰撞 265
10.3.1 BoxComponent类 266
10.3.2 PhysWorld类 267
10.3.3 使用SegmentCast函数的球弹碰撞检测 269
10.3.4 在PhysWorld类中测试BoxComponent组件间碰撞 270
10.3.5 玩家与墙壁的碰撞检测 272
10.4 游戏项目 274
10.5 总结 275
10.6 补充阅读材料 276
10.7 练习题 276
10.7.1 练习题1 276
10.7.2 练习题2 277
10.7.3 练习题3 277
第 11章 用户界面 278
11.1 字体渲染 278
11.2 用户界面屏幕 281
11.2.1 用户界面屏幕栈 282
11.2.2 暂停菜单 284
11.2.3 按钮 286
11.2.4 对话框 289
11.3 平视显示器元素 291
11.3.1 添加十字准线 291
11.3.2 添加雷达 293
11.4 本地化 296
11.4.1 使用Unicode 297
11.4.2 添加文本映射 297
11.4.3 其他本地化问题 299
11.5 支持多个分辨率 300
11.6 游戏项目 300
11.7 总结 301
11.8 补充阅读材料 301
11.9 练习题 302
11.9.1 练习题1 302
11.9.2 练习题2 302
11.9.3 练习题3 302
第 12章 骨骼 303
12.1 骨骼 的基础 303
12.1.1 骨架和姿势 304
12.1.2 反向绑定姿势矩阵 307
12.1.3 数据 307
12.1.4 蒙皮 308
12.2 实现骨骼 309
12.2.1 使用带有骨骼蒙皮的顶点属性进行绘制 310
12.2.2 加载骨架数据 314
12.2.3 加载 数据 315
12.2.4 蒙皮顶点着色器程序 319
12.2.5 更新 321
12.3 游戏项目 323
12.4 总结 324
12.5 补充阅读材料 325
12.6 练习题 325
12.6.1 练习题1 325
12.6.2 练习题2 325
第 13章 中间图形 327
13.1 提高纹理质量 327
13.1.1 纹理采样、再访 328
13.1.2 纹理分级细化 330
13.1.3 各向异性过滤 331
13.2 向纹理进行渲染 332
13.2.1 创建纹理 333
13.2.2 创建一个Framebuffer对象 333
13.2.3 渲染到Framebuffer对象 335
13.2.4 在HUD中绘制后视镜纹理 337
13.3 延迟着色 338
13.3.1 创建G-Buffer类 339
13.3.2 写入G缓冲区 342
13.3.3 全局光照 344
13.3.4 添加点光源 348
13.3.5 改进和问题 353
13.4 游戏项目 354
13.5 总结 354
13.6 补充阅读材料 354
13.7 练习题 355
13.7.1 练习题1 355
13.7.2 练习题2 355
第 14章 级别文件和二进制数据 357
14.1 级别文件加载 357
14.1.1 加载游戏的全局属性 358
14.1.2 加载角色 362
14.1.3 加载组件 366
14.2 保存级别文件 370
14.2.1 保存级别文件的全局属性 371
14.2.2 保存级别文件的角色和组件 372
14.3 二进制数据 374
14.3.1 保存二进制文件 375
14.3.2 加载二进制的网格文件 377
14.4 游戏项目 379
14.5 总结 380
14.6 补充阅读材料 381
14.7 练习题 381
14.7.1 练习题1 381
14.7.2 练习题2 382
附录A 中级C++回顾 383
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格