书籍详情
3D游戏编程入门经典
作者:(美)米勒(Miller, T.)著;敖富法著
出版社:清华大学出版社
出版时间:2006-03-01
ISBN:9787302121671
定价:¥48.00
购买这本书可以去
内容简介
本书由Windows API的设计者亲笔撰写,全面介绍了如何设计和构建3D计算机游戏,如何开发单人游戏和联网模式,并通过3个完整的3D游戏来逐步教会您如何成功完成一个游戏开发项目。全书代码示例丰富,内容翔实、权威,是一本优秀的游戏编程指南,适用于初级程序员和希望了解游戏开发的爱好者。 目录第I部分Microsoft .NET简介第1章游戏开发和托管代码 31.1什么是.NET? 31.2什么是托管代码 51.3使用Microsoft Visual Studio .NET 2003 IDE编写代码 51.3.1C#代码 61.3.2VB .NET代码 81.4在命令行中编译.NET代码 91.5游戏开发简述 101.6开发人员 101.7游戏开发过程 111.8工具 121.9小结 16第II部分图形和游戏1的介绍第2章策划第一个游戏 192.1提出游戏构想 192.2理解一个3D游戏的需求 212.3游戏规范 242.4小结 26第3章理解示例框架 273.1创建项目 273.2枚举所有设备选项 323.3小结 39第4章在屏幕上显示 404.1创建设备 404.2开始绘图 474.3加载并绘制网格 484.4在场景中添加照相机 514.5小结 54第5章完成代码 555.1理解高分辨率计时器 555.2处理丢失的设备 605.3添加帧速率输出 635.4设计UI界面 655.5设计按钮 725.6小结 75第6章实现用户界面 766.1设计主菜单 766.2插入到游戏引擎中 816.3选择人物(Loopy) 846.4利用新界面更新游戏引擎 916.5小结 95第7章实现玩家和块 967.1编写Player对象 967.2设计块 1047.3小结 110第8章实现级别对象 1118.1实现级别 1118.2控制玩家的移动 1168.3处理级别的更新 1198.4小结 123第9章综合应用 1249.1包含玩家 1249.2挂钩级别 1289.3实现退出界面 1329.4结束工作 1359.5小结 140第III部分基本的数学规则第10章3D数学快速入门 14510.12D与3D 14510.2使用3D点 14710.3操作3D对象 148 10.3.1平移(移动)对象 149 10.3.2缩放 149 10.3.3旋转 15010.3.4坐标系 15010.4数学结构 15110.5向量 15110.6矩阵 15410.7小结 157第IV部分间接图形、对等网、游戏2第11章开始创建游戏 16111.1Tankers: 下一个游戏构想 16111.2创建Tankers项目 16311.3项目的图形绘制 16911.4为纹理构建对象池 17111.5小结 173第12章开发更先进的用户界面 17412.1使用Blockers的基类(Base类) 17412.2添加新的基类 17912.3实现主界面 18212.4利用用户界面绘制3D模型 18912.5小结 193第13章绘制真实的坦克 19413.1理解网格层次结构 19413.2加载坦克层次结构 19713.3绘制网格层次 19913.4操作坦克 20113.5坦克的属性 20413.6创建照相机类 20713.7小结 210第14章天空?级别?玩家! 21114.1没有天空的世界将是黑色的世界 21114.2有了一个天空,但坦克不能驱动到那里 21414.3控制坦克 21614.4IMoveableObject接口 22514.5基本碰撞检测 23114.6小结 234第15章准备,瞄准,开火! 23515.1实现Ammunition类 23515.2Bullets集合 24215.3完成玩家 24315.4添加声音 24515.5小结 248第16章避免单人游戏的枯燥 24916.1使用DirectPlay 24916.2创建会话 25516.3加入会话 25716.4事件处理程序 25816.5发送及接收数据 26016.6小结 265第17章完成Tankers游戏 26617.1插入到游戏引擎中 26617.2绘制游戏 27217.3小结 275第V部分高级绘图、客户/服务器网络和游戏3第18章添加特殊效果 27918.1实现基本粒子系统 27918.2绘制粒子系统 28718.3将各部分连接到一起 29018.4小结 292第19章构建自己的游戏 29319.1阐明思想 29319.2创建自己的项目 29419.3设计用户界面 30019.4小结 305第20章可编程流水线 30620.1定义可编程流水线 30620.2使用HLSL 30720.3编写Vertex Shader 30920.4使用着色增加逼真度 31420.5添加Pixel shader 31520.6小结 317第21章控制细节的级别 31821.1简化网格 31821.2使用简化的网格 32221.3使用渐进网格控制细节的级别 32321.4小结 324第22章使用绘图目标创建特效 32522.1绘制跑道和多辆卡丁车 32522.2创建绘图目标和表面 33122.3将场景绘制到绘图目标 33322.4演示后视镜 33422.5小结 335第23章理解高级渲染语言 33623.1理解老的shader模型的限制 33623.2添加卡丁车镜面高亮 33723.3逐pixel镜面高亮 34023.4小结 343第24章关于性能的注意事项 34424.1事件模型和Managed DirectX 34424.2生成本机程序集 34524.3Boxing恶梦 34624.4Managed DirectX的速度 34824.5理解方法的开销 34924.6小结 350第VI部分附录附录A开发级别创建器 353
作者简介
TomMiller是ManagedDireetXAPI的设计者和开发小组组长。自1997年起,Miller就任职于Mivrosoft公司,最初在VisualBasic组工作,后业被调入DirectX组,负责游戏编程工作,并取得卓越成绩,使得DirectXAPI(和游戏编程)为更多用户所接受。Miller还著有ManagedDireetX9KickStart:GraphicsandGameProgramming(SamsPublishing)——到目前为止,该书是关于ManagedDirectX库的最具权威性的著作。
目录
第I部分 Microsoft .NET简介
第1章 游戏开发和托管代码 3
1.1 什么是.NET? 3
1.2 什么是托管代码 5
1.3 使用Microsoft Visual Studio .NET 2003 IDE编写代码 5
1.3.1 C#代码 6
1.3.2 VB .NET代码 8
1.4 在命令行中编译.NET代码 9
1.5 游戏开发简述 10
1.6 开发人员 10
1.7 游戏开发过程 11
1.8 工具 12
1.9 小结 16
第II部分 图形和游戏1的介绍
第2章 策划第一个游戏 19
2.1 提出游戏构想 19
2.2 理解一个3D游戏的需求 21
2.3 游戏规范 24
2.4 小结 26
第3章 理解示例框架 27
3.1 创建项目 27
3.2 枚举所有设备选项 32
3.3 小结 39
第4章 在屏幕上显示 40
4.1 创建设备 40
4.2 开始绘图 47
4.3 加载并绘制网格 48
4.4 在场景中添加照相机 51
4.5 小结 54
第5章 完成代码 55
5.1 理解高分辨率计时器 55
5.2 处理丢失的设备 60
5.3 添加帧速率输出 63
5.4 设计UI界面 65
5.5 设计按钮 72
5.6 小结 75
第6章 实现用户界面 76
6.1 设计主菜单 76
6.2 插入到游戏引擎中 81
6.3 选择人物(Loopy) 84
6.4 利用新界面更新游戏引擎 91
6.5 小结 95
第7章 实现玩家和块 96
7.1 编写Player对象 96
7.2 设计块 104
7.3 小结 110
第8章 实现级别对象 111
8.1 实现级别 111
8.2 控制玩家的移动 116
8.3 处理级别的更新 119
8.4 小结 123
第9章 综合应用 124
9.1 包含玩家 124
9.2 挂钩级别 128
9.3 实现退出界面 132
9.4 结束工作 135
9.5 小结 140
第III部分 基本的数学规则
第10章 3D数学快速入门 145
10.1 2D与3D 145
10.2 使用3D点 147
10.3 操作3D对象 148
10.3.1 平移(移动)对象 149
10.3.2 缩放 149
10.3.3 旋转 150
10.3.4 坐标系 150
10.4 数学结构 151
10.5 向量 151
10.6 矩阵 154
10.7 小结 157
第IV部分 间接图形、对等网、游戏2
第11章 开始创建游戏 161
11.1 Tankers—— 下一个游戏构想 161
11.2 创建Tankers项目 163
11.3 项目的图形绘制 169
11.4 为纹理构建对象池 171
11.5 小结 173
第12章 开发更先进的用户界面 174
12.1 使用Blockers的基类(Base类) 174
12.2 添加新的基类 179
12.3 实现主界面 182
12.4 利用用户界面绘制3D模型 189
12.5 小结 193
第13章 绘制真实的坦克 194
13.1 理解网格层次结构 194
13.2 加载坦克层次结构 197
13.3 绘制网格层次 199
13.4 操作坦克 201
13.5 坦克的属性 204
13.6 创建照相机类 207
13.7 小结 210
第14章 天空?级别?玩家! 211
14.1 没有天空的世界将是黑色的世界 211
14.2 有了一个天空,但坦克不能驱动到那里 214
14.3 控制坦克 216
14.4 IMoveableObject接口 225
14.5 基本碰撞检测 231
14.6 小结 234
第15章 准备,瞄准,开火! 235
15.1 实现Ammunition类 235
15.2 Bullets集合 242
15.3 完成玩家 243
15.4 添加声音 245
15.5 小结 248
第16章 避免单人游戏的枯燥 249
16.1 使用DirectPlay 249
16.2 创建会话 255
16.3 加入会话 257
16.4 事件处理程序 258
16.5 发送及接收数据 260
16.6 小结 265
第17章 完成Tankers游戏 266
17.1 插入到游戏引擎中 266
17.2 绘制游戏 272
17.3 小结 275
第V部分 高级绘图、客户/服务器网络和游戏3
第18章 添加特殊效果 279
18.1 实现基本粒子系统 279
18.2 绘制粒子系统 287
18.3 将各部分连接到一起 290
18.4 小结 292
第19章 构建自己的游戏 293
19.1 阐明思想 293
19.2 创建自己的项目 294
19.3 设计用户界面 300
19.4 小结 305
第20章 可编程流水线 306
20.1 定义可编程流水线 306
20.2 使用HLSL 307
20.3 编写Vertex Shader 309
20.4 使用着色增加逼真度 314
20.5 添加Pixel shader 315
20.6 小结 317
第21章 控制细节的级别 318
21.1 简化网格 318
21.2 使用简化的网格 322
21.3 使用渐进网格控制细节的级别 323
21.4 小结 324
第22章 使用绘图目标创建特效 325
22.1 绘制跑道和多辆卡丁车 325
22.2 创建绘图目标和表面 331
22.3 将场景绘制到绘图目标 333
22.4 演示后视镜 334
22.5 小结 335
第23章 理解高级渲染语言 336
23.1 理解老的shader模型的限制 336
23.2 添加卡丁车镜面高亮 337
23.3 逐pixel镜面高亮 340
23.4 小结 343
第24章 关于性能的注意事项 344
24.1 事件模型和Managed DirectX 344
24.2 生成本机程序集 345
24.3 Boxing恶梦 346
24.4 Managed DirectX的速度 348
24.5 理解方法的开销 349
24.6 小结 350
第VI部分 附 录
附录A 开发级别创建器 353
第1章 游戏开发和托管代码 3
1.1 什么是.NET? 3
1.2 什么是托管代码 5
1.3 使用Microsoft Visual Studio .NET 2003 IDE编写代码 5
1.3.1 C#代码 6
1.3.2 VB .NET代码 8
1.4 在命令行中编译.NET代码 9
1.5 游戏开发简述 10
1.6 开发人员 10
1.7 游戏开发过程 11
1.8 工具 12
1.9 小结 16
第II部分 图形和游戏1的介绍
第2章 策划第一个游戏 19
2.1 提出游戏构想 19
2.2 理解一个3D游戏的需求 21
2.3 游戏规范 24
2.4 小结 26
第3章 理解示例框架 27
3.1 创建项目 27
3.2 枚举所有设备选项 32
3.3 小结 39
第4章 在屏幕上显示 40
4.1 创建设备 40
4.2 开始绘图 47
4.3 加载并绘制网格 48
4.4 在场景中添加照相机 51
4.5 小结 54
第5章 完成代码 55
5.1 理解高分辨率计时器 55
5.2 处理丢失的设备 60
5.3 添加帧速率输出 63
5.4 设计UI界面 65
5.5 设计按钮 72
5.6 小结 75
第6章 实现用户界面 76
6.1 设计主菜单 76
6.2 插入到游戏引擎中 81
6.3 选择人物(Loopy) 84
6.4 利用新界面更新游戏引擎 91
6.5 小结 95
第7章 实现玩家和块 96
7.1 编写Player对象 96
7.2 设计块 104
7.3 小结 110
第8章 实现级别对象 111
8.1 实现级别 111
8.2 控制玩家的移动 116
8.3 处理级别的更新 119
8.4 小结 123
第9章 综合应用 124
9.1 包含玩家 124
9.2 挂钩级别 128
9.3 实现退出界面 132
9.4 结束工作 135
9.5 小结 140
第III部分 基本的数学规则
第10章 3D数学快速入门 145
10.1 2D与3D 145
10.2 使用3D点 147
10.3 操作3D对象 148
10.3.1 平移(移动)对象 149
10.3.2 缩放 149
10.3.3 旋转 150
10.3.4 坐标系 150
10.4 数学结构 151
10.5 向量 151
10.6 矩阵 154
10.7 小结 157
第IV部分 间接图形、对等网、游戏2
第11章 开始创建游戏 161
11.1 Tankers—— 下一个游戏构想 161
11.2 创建Tankers项目 163
11.3 项目的图形绘制 169
11.4 为纹理构建对象池 171
11.5 小结 173
第12章 开发更先进的用户界面 174
12.1 使用Blockers的基类(Base类) 174
12.2 添加新的基类 179
12.3 实现主界面 182
12.4 利用用户界面绘制3D模型 189
12.5 小结 193
第13章 绘制真实的坦克 194
13.1 理解网格层次结构 194
13.2 加载坦克层次结构 197
13.3 绘制网格层次 199
13.4 操作坦克 201
13.5 坦克的属性 204
13.6 创建照相机类 207
13.7 小结 210
第14章 天空?级别?玩家! 211
14.1 没有天空的世界将是黑色的世界 211
14.2 有了一个天空,但坦克不能驱动到那里 214
14.3 控制坦克 216
14.4 IMoveableObject接口 225
14.5 基本碰撞检测 231
14.6 小结 234
第15章 准备,瞄准,开火! 235
15.1 实现Ammunition类 235
15.2 Bullets集合 242
15.3 完成玩家 243
15.4 添加声音 245
15.5 小结 248
第16章 避免单人游戏的枯燥 249
16.1 使用DirectPlay 249
16.2 创建会话 255
16.3 加入会话 257
16.4 事件处理程序 258
16.5 发送及接收数据 260
16.6 小结 265
第17章 完成Tankers游戏 266
17.1 插入到游戏引擎中 266
17.2 绘制游戏 272
17.3 小结 275
第V部分 高级绘图、客户/服务器网络和游戏3
第18章 添加特殊效果 279
18.1 实现基本粒子系统 279
18.2 绘制粒子系统 287
18.3 将各部分连接到一起 290
18.4 小结 292
第19章 构建自己的游戏 293
19.1 阐明思想 293
19.2 创建自己的项目 294
19.3 设计用户界面 300
19.4 小结 305
第20章 可编程流水线 306
20.1 定义可编程流水线 306
20.2 使用HLSL 307
20.3 编写Vertex Shader 309
20.4 使用着色增加逼真度 314
20.5 添加Pixel shader 315
20.6 小结 317
第21章 控制细节的级别 318
21.1 简化网格 318
21.2 使用简化的网格 322
21.3 使用渐进网格控制细节的级别 323
21.4 小结 324
第22章 使用绘图目标创建特效 325
22.1 绘制跑道和多辆卡丁车 325
22.2 创建绘图目标和表面 331
22.3 将场景绘制到绘图目标 333
22.4 演示后视镜 334
22.5 小结 335
第23章 理解高级渲染语言 336
23.1 理解老的shader模型的限制 336
23.2 添加卡丁车镜面高亮 337
23.3 逐pixel镜面高亮 340
23.4 小结 343
第24章 关于性能的注意事项 344
24.1 事件模型和Managed DirectX 344
24.2 生成本机程序集 345
24.3 Boxing恶梦 346
24.4 Managed DirectX的速度 348
24.5 理解方法的开销 349
24.6 小结 350
第VI部分 附 录
附录A 开发级别创建器 353
猜您喜欢