《Open GL游戏编程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:徐明亮,卢红星,王琬编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2008
  • ISBN:7111226704
  • 页数:392 页
图书介绍:本书介绍了OpenGL游戏开发编程相关知识。

第1章 游戏开发快速入门 1

1.1 游戏软件开发概述 1

1.1.1 游戏软件开发流程 1

1.1.2 游戏软件的构成 2

1.1.3 游戏软件的运行原理 3

1.2 OpenGL与DirectX简介 3

1.2.1 OpenGL基础知识 4

1.2.2 DirectX基础知识 5

1.3 3D图形学快速入门 7

1.3.1 点和向量 7

1.3.2 坐标系与矩阵 11

1.3.3 3D图形处理流程 14

1.3.4 坐标变换 14

第2章 OpenGL程序框架 23

2.1 窗口渲染环境 23

2.1.1 GDI设备环境 23

2.1.2 OpenGL渲染环境 27

2.2 创建Win32 SDK风格的窗口 31

2.3 面向对象风格的窗口框架 47

2.3.1 窗口类GLWindow的设计及实现 49

2.3.2 键盘类Keys的设计与实现 56

2.3.3 应用程序类GLApplication的设计与实现 57

2.3.4 一个简单的实例 67

第3章 OpenGL变换 71

3.1 OpenGL的数据类型 71

3.2 函数命名的语法 71

3.3 OpenGL是种状态机 72

3.4 OpenGL变换 72

3.4.1 视点变换 73

3.4.2 模型变换 74

3.4.3 投影变换 74

3.4.4 视口变换 76

3.4.5 裁剪变换 76

3.4.6 矩阵堆栈 77

3.5 OpenGL变换实例 77

第4章 OpenGL光照、材质和纹理 87

4.1 真实感图形基本概念 87

4.2 OpenGL光照模型 87

4.2.1 法线向量 88

4.2.2 创建光源 89

4.2.3 选择光照模型 91

4.2.4 光照实例 91

4.3 材质 99

4.3.1 材质RGB值与光源RGB值的关系 99

4.3.2 材质的定义 99

4.3.3 颜色材质模式 100

4.3.4 材质实例 101

4.4 纹理映射 105

4.4.1 纹理资源的载入 105

4.4.2 OpenGL纹理映射 110

4.4.3 OpenGL多重纹理 116

第5章 OpenGL字体 121

5.1 位图字体 121

5.1.1 位图字体类 121

5.1.2 具体实现 122

5.1.3 实例 125

5.2 显示中文 126

5.2.1 字体类 127

5.2.2 具体实现 128

5.2.3 实例 132

第6章 摄像漫游 133

6.1 漫游原理 133

6.2 准备工作 134

6.3 摄像机类 135

6.4 摄像漫游实例 142

第7章 构造天空和地形 151

7.1 天空构造 151

7.1.1 天空盒原理 151

7.1.2 天空类实现 152

7.2 地形 157

7.2.1 地形构造原理 157

7.2.2 地形类实现 158

7.3 实例 170

第8章 模型载入 176

8.1 3DS文件载入 176

8.1.1 3DS文件简介 176

8.1.2 准备工作 176

8.1.3 载入类定义 178

8.1.4 3DS文件载入实例 191

8.2 MD2文件载入 192

8.2.1 MD2文件简介 192

8.2.2 准备工作 193

8.2.3 MD2文件载入类 197

8.2.4 MD2文件载入实例 211

第9章 实时阴影 215

9.1 简介 215

9.2 实时阴影 215

9.2.1 平面投射 215

9.2.2 阴影体 216

9.3 平面投射实例 217

9.4 阴影体实例 226

第10章 DirectInput的使用 237

10.1 DirectInput简介 237

10.2 DirectInput的使用 239

10.2.1 安装和配置DirectX9.0 239

10.2.2 创建DirectInput接口对象 240

10.2.3 创建设备对象 241

10.2.4 设置设备的数据格式 242

10.2.5 设置设备的协作层次 243

10.2.6 设置设备的属性 243

10.2.7 设备的捕获 244

10.2.8 设备输入的获取 244

10.2.9 关闭 245

10.3 建立输入系统 245

10.3.1 键盘类CKeyboard 245

10.3.2 鼠标类CMouse 248

10.3.3 游戏杆类CJoystick 252

10.3.4 输入系统类CInputSystem 254

10.4 DirectInput应用实例 257

10.4.1 键盘实例 257

10.4.2 鼠标实例 257

第11章 DirectSound的使用 259

11.1 声音的基础知识 259

11.2 DirectSound介绍 260

11.3 DirectSound的使用 262

11.3.1 创建DirectSound对象 262

11.3.2 设置设备的协作级别 262

11.3.3 创建主缓冲区 263

11.3.4 创建辅助缓冲区 264

11.3.5 加载声音数据 266

11.3.6 声音的播放与控制 268

11.4 3D音效 269

11.4.1 3D空间与缓冲区 269

11.4.2 最大最小距离 269

11.4.3 处理模式 270

11.4.4 声音圆锥 270

11.4.5 声源的创建 271

11.4.6 听者对象的创建 271

11.5 封装音频处理模块 272

11.6 音频实例 274

第12章 游戏中的物理模拟 276

12.1 物理学基础知识 276

12.1.1 基本概念 276

12.1.2 牛顿运动定律 277

12.1.3 冲量、动量 278

12.2 物理规律的模拟 279

12.2.1 匀速运动模拟 279

12.2.2 平抛运动模拟 280

12.2.3 摩擦力模拟 282

12.3 碰撞检测 282

12.3.1 碰撞检测概述 282

12.3.2 碰撞检测 283

12.3.3 碰撞检测实例 283

第13章 粒子系统 293

13.1 粒子系统简介 293

13.1.1 概述 293

13.1.2 分类 293

13.1.3 粒子系统的生命周期 293

13.2 粒子系统设计 294

13.2.1 形式描述 294

13.2.2 数据结构 295

13.3 粒子系统的实现 295

13.4 粒子系统实例1——雪花 298

13.5 粒子系统实例2——喷泉 304

第14章 构造游戏引擎 311

14.1 游戏引擎简介 311

14.2 游戏引擎的体系结构 312

14.3 基础公用模块 313

14.3.1 基础结构和操作 313

14.3.2 数学运算模块 315

14.3.3 计时器CTimer类 317

14.3.4 字体类 317

14.3.5 摄像机类 318

14.3.6 INI文件读取类 319

14.4 窗口引擎模块 320

14.5 输入系统模块 324

14.5.1 输入法IME编程 324

14.5.2 输入系统类 326

14.6 场景管理模块 327

14.6.1 对象管理模块 327

14.6.2 游戏场景模块 335

14.6.3 场景管理模块 337

14.7 资源管理模块 337

14.8 GUI界面设计模块 340

14.8.1 GUI模块构架 342

14.8.2 按钮类CButton 344

14.8.3 复选框类CCheckBox 345

14.8.4 文本编辑类Edit 345

14.8.5 对话框类Dialog 347

14.8.6 滚动条类CScrollBar 347

14.8.7 列表框类ListView 348

14.8.8 进度条类CProgressBar 349

14.8.9 小地图类MapView 350

14.9 消息系统模块 351

14.10 音频系统模块 354

14.11 粒子特效模块 356

第15章 3D RPG游戏 359

15.1 游戏简介 359

15.2 角色设计 359

15.3 加入怪物 362

15.4 游戏场景 365

15.5 光标动画 367

15.6 游戏界面 369

15.7 运行界面 377

第16章 Quake室内场景实例 379

16.1 BSP技术 379

16.1.1 为什么要使用BSP 379

16.1.2 BSP原理 380

16.1.3 渲染BSP 380

16.2 隐藏面剔除 381

16.3 Quake室内场景绘制 381

16.3.1 Quake3 BSP文件格式 381

16.3.2 Quake3 BSP文件的载入 384

16.3.3 运行结果 385

第17章 指环王动画特效 386

17.1 实例介绍 386

17.2 关键技术 386

17.2.1 ASE模型读取 386

17.2.2 火焰的绘制 388

17.2.3 场景的绘制 389