《DirectX 7速成教程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)Robert Dunlop等著;孙守迁等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2002
  • ISBN:7111093569
  • 页数:378 页
图书介绍:

第一部分 DirectX介绍 1

第1章 DirectX组件及其作用 1

1.1 什么是DirectX 1

1.2 DirectX组件 1

1.2.1 DirectX SDK 1

1.2.2 DirectX Media SDK 2

1.3 准备使用DirectX 2

1.3.1 准备编译器 2

1.3.2 在程序中包含SDK 3

1.4 COM简介 3

1.4.1 可重用的接口和兼容性 4

1.4.2 IUnknown基类 4

1.4.3 查询接口 4

1.4.4 COM参考计算器 5

1.5 课时小结 5

1.6 专家答疑 5

1.7 课外作业 6

1.7.1 思考题 6

1.7.2 练习题 6

第二部分 从DirectDraw开始 7

第2章 Windows应用程序中的DirectDraw 7

2.1 视频系统 7

2.2 DirectDraw组件 8

2.2.1 IDirectDraw7接口 8

2.2.2 DirectDraw界面 9

2.2.3 与DirectDraw剪贴板的内部保持一致 10

2.3 在主界面上绘图 11

2.4 第一个DirectDraw应用程序 14

2.4.1 建立项目 14

2.4.2 生成窗口框架 14

2.4.3 初始化DirectDraw并生成剪贴板 17

2.4.4 生成主界面 18

2.4.5 加载图像 19

2.4.6 把图像传到屏幕上 20

2.4.7 在消息循环中将它绑到一起 20

2.4.8 释放接口 21

2.5 课时小结 22

2.6 专家答疑 22

2.7 课外作业 23

2.7.1 思考题 23

2.7.2 练习题 23

第3章 系统的控制 24

3.1 全屏图形 24

3.1.1 得到系统的合作 24

3.1.2 改变屏幕分辨率 25

3.2 翻页 26

3.2.1 创建触发链 26

3.2.2 使用页触发 27

3.3 幻灯片显示:一个简单的界面——触发应用程序 28

3.4 设置应用程序 28

3.4.1 初始化应用程序 29

3.4.2 清除 31

3.4.3 绘制一张幻灯 31

3.4.4 处理幻灯片导航 33

3.4.5 例程输出 34

3.5 课时小结 34

3.6 专家答疑 34

3.7 课外作业 35

3.7.1 思考题 35

3.7.2 练习题 35

第4章 创建游戏循环 36

4.1 游戏循环的概念 36

4.2 写一个更好的消息循环 37

4.3 获取平滑的回放 38

4.3.1 在循环中使用计时器 38

4.3.2 选择计时器 38

4.4 第一个动画:一个活动的背景 39

4.4.1 设置应用程序 40

4.4.2 设置初始化 41

4.4.3 通过键盘输入控制动作 42

4.4.4 清除并退出 43

4.4.5 创建游戏循环 43

4.4.6 表演一个活动的背景 47

4.5 课时小结 48

4.6 专家答疑 49

4.7 课外作业 49

4.7.1 思考题 49

4.7.2 练习题 49

第5章 动起来:DirectDraw动画技术 50

5.1 位块传送 50

5.1.1 颜色锁结的两个方法 50

5.1.2 选择一种锁结色 51

5.1.3 转换锁结颜色 51

5.1.4 在DirectDraw中设置锁结色 53

5.2 使它看上去像3D 54

5.2.1 Z轴排序 54

5.2.2 视差:移动物体的深度感知 54

5.3 将它们放在一起 55

5.4 课时小结 62

5.5 专家答疑 62

5.6 课外作业 63

5.6.1 思考题 63

5.6.2 练习题 63

第三部分 添加音乐和声音 65

第6章 DirectSound:为你的游戏增加情调和声音效果 65

6.1 DirectSound的基础 65

6.1.1 低延迟的音频混合 66

6.1.2 硬件加速 66

6.1.3 3D声音 66

6.1.4 DirectSound与Windows音频 67

6.2 内部DirectSound 67

6.2.1 DirectSound对象 67

6.2.2 创建一个声音缓冲区 68

6.2.3 获取设备能力 69

6.2.4 释放DirectSound 69

6.2.5 设置合作级别 69

6.2.6 DirectSoundBuffer对象 70

6.2.7 锁定与解锁一个声音缓冲区 71

6.2.8 播放与停止一个声音缓冲区 72

6.2.9 获取声音缓冲区的状态 73

6.2.10 设置声音缓冲区的音量 73

6.2.11 控制声音缓冲区的颤动 73

6.2.12 改变声音缓冲区的频率 74

6.2.13 静态和流声音缓冲区 74

6.3 课时小结 74

6.4 专家答疑 74

6.5 课外作业 75

6.5.1 思考题 75

6.5.2 练习题 75

第7章 应用DirectSound 76

7.1 DirectSound和游戏 76

7.2 用波工作 77

7.2.1 波的高级用法 77

7.2.2 创建CWave类 78

7.2.3 使用CWave类 84

7.3 DirectSound播放声音效果 84

7.4 课时小结 90

7.5 专家答疑 90

7.6 课外作业 90

7.6.1 思考题 90

7.6.2 练习题 90

第四部分 欢迎来到3D世界 93

第8章 DirectMusic:交互式音乐 93

8.1 DirectMusic的特点 93

8.1.1 Microsoft Synthesizer 94

8.1.2 交互式音乐的时代 95

8.1.3 音乐的动态生成 95

8.2 数字领域的音乐创作 96

8.2.1 音乐结构的快速启蒙 97

8.2.2 用MIDI形式存储乐曲 98

8.2.3 多轨音乐合成器 98

8.3 DirectMusic体系结构 98

8.3.1 IDiretMusicPerformance接口 98

8.3.2 执行对象的接口 100

8.3.3 乐团的组合 100

8.3.4 音乐模板 101

8.4 课时小结 102

8.5 专家答疑 102

8.6 课外作业 102

8.6.1 思考题 103

8.6.2 练习题 103

第9章 应用DirectMusic 104

9.1 用DirectMusic产生器应用程序创作一首简单的谱子 104

9.1.1 选择工具 105

9.1.2 创建节奏 106

9.1.3 制作简单的旋律 107

9.1.4 生成音乐模板 108

9.1.5 保存演奏 110

9.2 创立DirectMusic 110

9.2.1 初始化演奏接口 110

9.2.2 载入作曲文件 111

9.2.3 确定乐器 112

9.3 DirectMusic演奏 114

9.3.1 演奏段 114

9.3.2 在线改变节奏和结构 115

9.4 在游戏中加入DirectMusic 116

9.4.1 创建接口 117

9.4.2 加载执行组件 118

9.4.3 让音乐烘托气氛 119

9.5 课时小结 121

9.6 专家答疑 121

9.7 课外作业 122

9.7.1 思考题 122

9.7.2 练习题 122

第10章 3D概念介绍 124

10.1 3D处理综述 124

10.1.1 物件定义 124

10.1.2 3D管道 124

10.2 在3D空间中定义位置 126

10.3 在三维环境中创建对象 126

10.4 矩阵:使世界运动起来 127

10.4.1 “世界”变换 128

10.4.2 视窗变换 132

10.5 课时小结 132

10.6 专家答疑 133

10.7 课外作业 133

第11章 生成3D图像 134

11.1 D3D中直接模型的继承关系 134

11.1.1 IDirectD7接口 134

11.1.2 IDirect3DDevice7接口 134

11.2 视域锥面 135

11.2.1 在视域中剪切平截面 135

11.2.2 剪切面的前面和后面 135

11.2.3 工程矩阵 136

11.2.4 定义视见区 137

11.3 隐藏面的消除 138

11.4 背面的选取 138

11.5 Z缓冲 139

11.6 课时小结 140

11.7 专家答疑 140

11.8 课外作业 140

11.8.1 思考题 140

11.8.2 练习题 140

第五部分 输出设备 143

第12章 创建第一个D3D的应用程序 143

12.1 在D3D中建立对象 143

12.2 三种网阵格式 144

12.2.1 三角链法 144

12.2.2 三角带链法 144

12.2.3 三角扇形法 145

12.2.4 画一个网状体 145

12.3 标记网状图 146

12.4 开始第一个Direct3D图形 147

12.4.1 生成一个简单的3D物体 147

12.4.2 物体的处理 150

12.4.3 开始工作 151

12.4.4 球类表面指针 152

12.4.5 初始化操作 153

12.4.6 用Direct3D初始化DirectDraw 155

12.4.7 初始化Direct3D 156

12.4.8 设置视窗部分 157

12.4.9 创建物体 158

12.4.10 使物体运动 158

12.4.11 作出布景 160

12.4.12 处理用户输入 162

12.4.13 完成涉及项目 164

12.4.14 程序运行 166

12.5 课时小结 167

12.6 专家答疑 167

12.7 课外作业 168

12.7.1 思考题 168

12.7.2 练习题 168

第13章 在布景中加入纹理和Z-buffer 169

13.1 准备一个Z-buffer设备 170

13.1.1 选择一个Z-buffer 170

13.1.2 创建并结合Z-buffer 171

13.1.3 开启与关闭Z-buffer 172

13.2 加纹理 173

13.2.1 读入一个纹理 173

13.2.2 准备几何图 177

13.2.3 建立设备与操作 179

13.3 课时小结 181

13.4 专家答疑 181

13.5 课外作业 181

13.5.1 思考题 181

13.5.2 练习题 181

第14章 通过光照增加真实感 182

14.1 建立一个光源 182

14.2 光源类型 182

14.2.1 点光源 183

14.2.2 聚光灯光源 183

14.2.3 方向光源 184

14.3 在项目中添加光照 184

14.3.1 创建光源 188

14.3.2 激活光照管道 191

14.3.3 在场景中实现光源的动画 191

14.3.4 删除光源 193

14.4 课时小结 193

14.5 专家答疑 193

14.6 课外作业 194

14.6.1 思考题 194

14.6.2 练习题 194

第六部分 Direct3D直接模式 195

第15章 向场景中输入3D对象和动画 195

15.1 3D建模软件包简介 195

15.2 Direct3D X文件格式 195

15.2.1 顶点存储 200

15.2.2 顶点颜色 201

15.2.3 顶点法线 202

15.2.4 纹理映射 203

15.2.5 框架层次 203

15.2.6 动画路径 205

15.3 转换3D Studio文件:CONV3DS实用库 206

15.4 读取一个X文件格式 207

15.5 在我们的应用程序中添加传播手段 207

15.5.1 读取模型 207

15.5.2 建立层次 208

15.5.3 对象加入到场景中 209

15.5.4 清除 210

15.6 课时小结 211

15.7 专家答疑 211

15.8 课外作业 211

15.8.1 思考题 212

15.8.2 练习题 212

第16章 模拟一个复杂的世界:物理学和对象层次的应用 213

16.1 反作用和影响:定义真实世界的关系 213

16.1.1 运动动力学 214

16.1.2 前向运动 214

16.1.3 支点和其他运动特性 215

16.1.4 反向运动 216

16.1.5 对象层次 216

16.1.6 用矩阵来合并运动 217

16.2 对象间的相互作用 219

16.2.1 碰撞检测 220

16.2.2 对象的反作用力 221

16.3 在我们的应用程序中添加碰撞检测 223

16.3.1 定义对象的范围 224

16.3.2 碰撞测试 227

16.3.3 反作用力向量的动画实现 228

16.4 课时小结 228

16.5 专家答疑 229

16.6 课外作业 229

16.6.1 思考题 229

16.6.2 练习题 229

第17章 DirectInput简介:获取用户输入 231

17.1 DirectInput基础 231

17.2 内部DirectInput 232

17.2.1 DirectInput对象 232

17.2.2 DirectInputDevice对象 234

17.3 DirectInput内部代码 235

17.3.1 启动DirectInput 235

17.3.2 清除DirectInput 235

17.4 处理键盘输入 236

17.5 处理鼠标输入 239

17.6 处理游戏杆的输入 241

17.7 课时小结 245

17.8 专家答疑 246

17.9 课外作业 246

17.9.1 思考题 246

17.9.2 练习题 247

第18章 用户可以感觉到的:力反馈 248

18.1 认识力反馈 248

18.1.1 力反馈术语 248

18.1.2 效果的类型 250

18.2 内部DirectInput概览 250

18.3 使用力反馈 252

18.3.1 列举和创建力反馈设备 253

18.3.2 列举力反馈效果 255

18.4 创建力反馈效果 256

18.4.1 运行力反馈效果 259

18.4.2 改变力反馈效果 259

18.5 力反馈效果特例 260

18.6 课时小结 261

18.7 专家答疑 261

18.8 课外作业 262

18.8.1 思考题 262

18.8.2 练习题 262

第19章 3D声音:从混音到多普勒效应 263

19.1 3D声音入门 263

19.1.1 声音物理学 263

19.1.2 我们如何感觉声音 264

19.1.3 DirectSound3D的结构 266

19.2 DirectSound 3D的组成 266

19.2.1 DirectSound 3D缓冲区 266

19.2.2 DirectSound 3D接收器 270

19.3 向应用程序中添加DirectSound 3D 274

19.3.1 创建听者 274

19.3.2 载入声音 276

19.3.3 创建3D缓冲区 276

19.3.4 仿真音效 277

19.3.5 释放接口 278

19.4 课时小结 279

19.5 专家答疑 279

19.6 课外作业 279

19.6.1 思考题 279

19.6.2 练习题 280

第七部分 DirectPlay 281

第20章 将你的游戏放入网络:编写多用户标题 281

20.1 DirectPlay结构 281

20.2 创建一个DirectPlay对象 286

20.3 选取一个网络联接 286

20.4 连接一个会话 289

20.5 与玩家通信 291

20.5.1 玩家与分组 292

20.5.2 DirectPlay消息 294

20.6 处理网络等待时间 294

20.6.1 确定性/非确定性数据 296

20.6.2 被担保的消息 296

20.6.3 消息管理 297

20.7 课时小结 297

20.8 专家答疑 298

20.9 课外作业 298

20.9.1 思考题 298

20.9.2 练习题 299

第21章 游戏中枢:创建通道 300

21.1 DirectPlay通道简介 300

21.1.1 将玩家集中到一个场所 301

21.1.2 游戏服务器 302

21.2 使一个DirectPlay应用程序通道化 303

21.3 IDirectPlayDobby3接口 303

21.3.1 通道对游戏客户端的支持 304

21.3.2 将游戏注册成通道型的 305

21.4 用户、分组和会话 307

21.5 提供交谈服务 308

21.6 创建一个会话 310

21.7 启动一个DirectPlay通道应用程序 311

21.7.1 使游戏通道化 312

21.7.2 发送和接收通道消息 312

21.7.3 清除 313

21.8 课时小结 313

21.9 专家答疑 313

21.10 课外作业 314

21.10.1 思考题 314

21.10.2 练习题 314

第八部分 DirectMedia SDK 315

第22章 用DirectShow添加视频 315

22.1 DirectShow简介 315

22.2 视频重放能力 316

22.3 互联网流型视频应用程序 316

22.4 图表过滤器 319

22.5 DirectShow应用程序示例 320

22.5.1 初始化DirectShow 320

22.5.2 建立过滤器 321

22.5.3 建立文件流 322

22.5.4 播放影片 324

22.5.5 清除 325

22.6 课时小结 325

22.7 专家答疑 325

22.8 课外作业 326

22.8.1 思考题 326

22.8.2 练习题 326

第23章 用DirectX Transform为面带来活力 327

23.1 DirectX Transform的功能 327

23.2 通用的DirectDraw面:IDXSurface 328

23.2.1 创建DXSurface 328

23.2.2 从各种文件格式中读取图形 329

23.2.3 自动颜色转换 330

23.3 特殊效果:DirectX Transform 330

23.3.1 创建Transform Factory 330

23.3.2 用工厂来访问转换 331

23.3.3 2D转换 332

23.3.4 过程型面 333

23.3.5 3D转换 335

23.4 DirectX Transform应用程序示例 337

23.4.1 创建DXSurface对象 337

23.4.2 载入图形 338

23.4.3 创建转换 338

23.4.4 实现图形转换动画 339

23.4.5 清除 340

23.5 课时小结 340

23.6 专家答疑 341

23.7 课外作业 341

23.7.1 思考题 341

23.7.2 练习题 341

第24章 用DirectAnimation将媒体集成到网页和应用程序中 342

24.1 DirectAnimation:一个API,多个用户 342

24.2 深入面:接口一览 343

24.2.1 DirectAnimation结构 344

24.2.2 DirectAnimation模型 344

24.3 多功能的编程环境 345

24.3.1 在C++中编写DirectAnimation 346

24.3.2 用脚本在Web上使用DirectAnimation 346

24.4 C++的DirectAnimation应用程序示例 347

24.4.1 初始化DirectAnimation 347

24.4.2 载入2D图形 351

24.4.3 创建3D对象 351

24.4.4 添加某些运动 352

24.4.5 创建照相机和光照 352

24.4.6 添加声音 353

24.4.7 实现场景动画 353

24.4.8 清除 354

24.4.9 用DirectDraw方式完成工作 354

24.5 使用DirectAnimation的网页示例 355

24.6 课时小结 357

24.7 专家答疑 357

24.8 课外作业 357

24.8.1 思考题 357

24.8.2 练习题 358

附录 359

附录A 参考答案 359

附录B 用DirectSetup为应用程序的发行做准备 374