首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

第1章  计算机图形学基础....... 1

1.1  3D图形学概述...... 2

1.1.1  计算机图形学基础....... 2

1.1.2  计算机图形显示技术..... 4

1.1.3  计算机图形处理器..... 4

1.1.4  显卡发展史..... 6

1.2  向量...... 11

1.2.1  向量的概念..... 11

1.2.2  坐标系..... 12

1.2.3  向量的运算..... 13

1.3  矩阵...... 16

1.3.1  矩阵的概念..... 16

1.3.2  矩阵的运算..... 17

1.3.3  齐次坐标..... 20

1.4  图形几何变换...... 20

1.4.1 图形几何变换的意义..... 20

1.4.2  二维图形的几何变换..... 21

1.4.3  三维图形的几何变换..... 23

1.5  四元数...... 25

1.5.1  复数理论..... 25

1.5.2  四元数的运算..... 26

1.5.3  四元数在图形学中的应用..... 28

本章小结...... 30

自测习题...... 31

课后作业...... 31

第2章  DirectX基础....... 33

2.1  DirectX介绍...... 34

2.1.1  DirectX及其历史..... 34

2.1.2  DirectX开发库..... 37

2.1.3  DirectX编程约定和命名规范..... 37

2.1.4  DirectX环境配置..... 40

2.2  D3D相关概念...... 42

2.2.1  HAL和COM..... 42

2.2.2  D3D中的基础概念..... 46

2.2.3  空间的概念..... 47

2.3  T&L渲染流水线...... 48

2.3.1  T&L的概念..... 48

2.3.2  空间转换..... 49

2.3.3  照明与投影..... 50

2.3.4  投影后的处理..... 51

2.3.5  渲染中的数据存储..... 53

2.4  D3D中的图元...... 54

2.4.1  D3D中图元(Primitive)的概念..... 54

2.4.2  图元类型..... 55

2.5  D3D程序基本框架...... 57

2.5.1  初始化Direct3D程序..... 58

2.5.2  图形显示..... 63

本章小结...... 65

自测习题...... 65

课后作业...... 66

第3章  绘制基本图形....... 67

3.1  绘制基本图形...... 68

3.1.1  绘制基本图形的完整代码..... 68

3.1.2  绘制图形的代码分析..... 72

3.2  索引缓冲绘制矩形...... 76

3.2.1  使用索引缓冲(Index Buffer)的意义..... 76

3.2.2  在D3D中如何使用索引缓冲..... 76

3.3  D3D中的图形学...... 78

3.3.1  D3D中的图形学基础..... 78

3.3.2  D3D中的平面..... 83

3.3.3  D3D中的射线..... 86

3.3.4  D3D中的图形变换..... 87

本章小结...... 89

自测习题...... 89

课后作业...... 90

第4章  实现基本光照与纹理....... 91

4.1  基本纹理绘制...... 92

4.1.1  纹理的概念..... 92

4.1.2  D3D的纹理绘制..... 94

4.2  特殊纹理渲染...... 99

4.2.1  纹理过滤(Texture Filtering)与采样..... 99

4.2.2  纹理寻址(Texture Address)..... 103

4.2.3  纹理包装(Texture Wrapping)与压缩..... 106

4.3  基本光照模型与表面材质...... 109

4.3.1  光照模型..... 109

4.3.2  光源类型..... 111

4.3.3  光源的属性..... 112

4.3.4  物体表面材质..... 114

4.3.5  在Direct3D中实现光照..... 115

本章小结...... 117

自测习题...... 118

课后作业...... 118

第5章  使用网格模型....... 119

5.1  使用网格建立基本模型...... 120

5.1.1  ID3DXMesh接口..... 120

5.1.2  子集和属性缓冲..... 121

5.1.3  网格渲染..... 122

5.1.4  优化网格..... 122

5.1.5  属性表..... 123

5.1.6  邻接信息..... 124

5.1.7  克隆网格..... 125

5.1.8  创建Mesh(D3DXCreateMeshFVF)..... 126

5.1.9  创建并渲染Mesh.. 126

5.2  游戏地形网格...... 128

5.2.1  高度图的概念..... 129

5.2.2  高度图的使用..... 130

5.3  使用模型...... 134

5.3.1  X文件格式..... 134

5.3.2  输出.X文件格式..... 137

5.3.3  在Direct3D程序中载入X文件..... 139

5.3.4  三维模型动画..... 141

5.3.5  骨骼动画详解..... 143

本章小结...... 148

自测习题...... 149

课后作业...... 149

第6章  实现基本游戏特效....... 151

6.1  基本渲染属性...... 152

6.1.1  深度缓冲..... 152

6.1.2  Alpha混合..... 153

6.1.3  Alpha测试..... 156

6.1.4  多边形填充和渲染..... 157

6.1.5  图形反锯齿..... 158

6.2  多纹理混合...... 160

6.2.1  多纹理的概念..... 160

6.2.2  多重纹理的使用..... 161

6.3  雾化效果...... 163

6.3.1  D3D中的雾化模型..... 163

6.3.2  实现雾化效果..... 165

6.4  2D文字和图形...... 167

6.4.1  D3D中使用2D文字..... 167

6.4.2  D3D中使用二维图形..... 169

6.5  公告板技术...... 170

6.5.1  公告板技术原理..... 170

6.5.2  公告板的程序实现..... 171

6.6  粒子系统...... 172

6.6.1  粒子系统的概念..... 172

6.6.2  粒子系统的实现..... 173

本章小结...... 178

自测习题...... 178

课后作业...... 178

第7章  实现游戏实时阴影....... 179

7.1  模板技术...... 180

7.1.1  模板的概念..... 180

7.1.2  模板的程序实现..... 181

7.1.3  模板的简单应用..... 183

7.2  实时阴影技术...... 188

7.2.1  阴影体..... 188

7.2.2  实时阴影的技术实现..... 192

本章小结...... 199

自测习题...... 200

课后作业...... 200

第8章  实现游戏控制....... 201

8.1  游戏控制概述...... 202

8.1.1  传统的控制..... 202

8.1.2  DirectInput. 203

8.2  DirectX键盘控制...... 207

8.2.1  初始化键盘对象..... 207

8.2.2  设置键盘设备状态..... 208

8.2.3  获取键盘输入..... 209

8.2.4  释放设备..... 212

8.3  DirectX鼠标控制...... 212

8.3.1  使用鼠标设备的流程..... 212

8.3.2  使用鼠标控制..... 217

8.4  游戏控制综合应用...... 221

8.4.1  游戏角色控制..... 221

8.4.2  摄像机控制..... 226

本章小结...... 228

自测习题...... 229

课后作业...... 229

第9章  实现游戏音乐与音效....... 231

9.1  DirectMusic对音频文件的支持...... 232

9.1.1  游戏音乐音效概述..... 232

9.1.2  DirectMusic的特点..... 233

9.1.3  DirectMusic的编程步骤..... 234

9.2  DirectSound对音频文件的支持...... 238

9.2.1  DirectSound的特点..... 238

9.2.2  DirectSound的编程步骤..... 239

9.3  DirectShow对流媒体的支持...... 246

9.3.1  DirectShow的工作原理..... 246

9.3.2  DirectShow的编程步骤..... 250

9.3.3  DirectShow播放AVI动画..... 252

9.4  3D音效的实现...... 253

9.4.1  3D音效模型..... 254

9.4.2  3D音效实现..... 255

本章小结...... 256

自测习题...... 256

课后作业...... 257

第10章  建立基本游戏场景....... 259

10.1  CGameApp... 260

10.2  CMath... 262

10.3  CBoundingBox... 263

10.4  CCamera.. 265

10.5  CMesh... 267

10.6  CMP3... 268

10.7  CParticleSystem..... 269

10.8  CShadowVolume.. 272

10.9  CSkyBox... 273

10.10  CTerrain... 274

10.11  CUnit. 275

10.12  CSkinMesh... 277

本章小结...... 282

第11章  HLSL语言基础....... 283

11.1  HLSL基本概念...... 284

11.1.1  着色器和高级语言..... 284

11.1.2  VertexShader和PixelShader. 285

11.1.3  HLSL工作模型..... 286

11.1.4  VertexShader和PixelShader的版本..... 287

11.1.5  Technique和Pass.. 288

11.2  HLSL中的变量...... 288

11.2.1  变量类型..... 289

11.2.2  变量类型的转换..... 292

11.2.3  变量的其他修饰用关键字..... 293

11.2.4  变量重组..... 294

11.3  HLSL中的基础语法...... 295

11.3.1  HLSL的函数..... 295

11.3.2  HLSL中的内置函数..... 296

11.3.3  数学表达式..... 296

11.3.4  依赖于不同版本的变量类型..... 297

11.3.5  HLSL关键字和保留字表..... 298

本章小结...... 299

自测习题...... 299

课后作业...... 299

本章附录函数定义表...... 299

第12章  Direct3D与HLSL.... 309

12.1  HLSL编码入门...... 310

12.1.1  一个简单的示例..... 310

12.1.2  获取图形硬件所支持的Shader版本..... 311

12.1.3  编译HLSL代码..... 313

12.1.4  定义technique和pass.. 316

12.1.5  修改渲染状态..... 316

12.2  HLSL中的语义...... 317

12.2.1  语义的概念..... 317

12.2.2  Direct3D中的FVF与多流..... 318

12.2.3  语义的应用..... 319

12.2.4  输入/输出语义的其他相关内容..... 320

12.2.5  语义的作用..... 322

12.2.6  使用语义的原因..... 322

12.3  HLSL中的释义...... 323

12.3.1  释义的概念..... 323

12.3.2  获取释义信息..... 325

本章小结...... 326

自测习题...... 327

课后作业...... 327

第13章  HLSL基本应用....... 329

13.1  D3D与HLSL的交互...... 330

13.1.1  在D3D中调用HLSL代码..... 330

13.1.2  与变量交互的方法..... 331

13.1.3  获取变量的所有信息..... 335

13.1.4  枚举出代码中的所有变量..... 338

13.1.5  获取Technqiue和Pass的信息..... 340

13.2  基本渲染效果...... 344

13.2.1  顶点变换..... 344

13.2.2  顶点颜色..... 348

13.2.3  使用纹理..... 349

13.2.4  光照效果..... 351

本章小结...... 359

自测习题...... 359

课后作业...... 359

第14章  寻路算法....... 361

14.1  图论基础...... 362

14.1.1  图的定义..... 362

14.1.2  图的表示结构..... 363

14.2  基本寻路算法...... 365

14.2.1  深度优先算法..... 365

14.2.2  广度优先算法..... 370

14.3  A*算法...... 376

14.3.1  A*算法的思想..... 376

14.3.2  A*算法的逻辑..... 377

14.3.3  A*算法的实现..... 379

本章小结...... 391

自测习题...... 392

课后作业...... 392

第15章  人工智能....... 393

15.1  人工智能概述...... 394

15.1.1  人工智能的概念及其应用..... 394

15.1.2  游戏中的人工智能..... 396

15.1.3  游戏中人工智能的系统结构..... 398

15.2  有限状态机...... 399

15.2.1  电脑角色的行为..... 399

15.2.2  有限状态机..... 401

15.2.3  模糊状态机..... 403

15.3  博弈论...... 403

15.3.1  博弈问题概述..... 403

15.3.2  完全信息静态博弈..... 404

15.3.3  完全信息动态博弈..... 406

15.3.4  不完全信息静态博弈..... 407

15.3.5  不完全信息动态博弈..... 408

15.3.6  博弈论的应用..... 409

本章小结...... 416

自测习题...... 416

课后作业...... 417

第16章  物理模拟....... 419

16.1  相关物理概念...... 420

16.1.1  基本物理单位..... 420

16.1.2  主要物理单位..... 422

16.2  物理环境模拟...... 427

16.2.1  动量守恒与传递..... 427

16.2.2  模拟重力场中的运动..... 429

16.2.3  模拟摩擦力..... 432

本章小结...... 435

自测习题...... 436

课后作业...... 436

第17章  碰撞检测....... 437

17.1  2D环境下的碰撞...... 438

17.1.1  简单的平面碰撞反应..... 438

17.1.2  2D物体间的精确碰撞响应..... 441

17.2  3D环境下的碰撞...... 448

17.2.1  碰撞检测概述..... 448

17.2.2  包围球碰撞检测..... 448

17.2.3  AABB算法..... 450

本章小结...... 451

自测习题...... 452

课后作业...... 452

第18章  LOD地形渲染....... 453

18.1  地表的四叉树分割与数据存储...... 454

18.1.1  四叉树概念及与LOD的关系..... 454

18.1.2  四叉树的地表分割原理..... 454

18.1.3  四叉树分割数据的存储..... 454

18.1.4  四叉树的实现..... 455

18.2  平截头体对场景的分割...... 456

18.2.1  平截头体的剔除原理..... 456

18.2.2  边界球体的剔除原理..... 456

18.2.3  平截头体的实现..... 458

18.2.4  四叉树的剔除..... 458

18.3  视点距离相关的结点评价...... 462

18.3.1  结点评价系数与结点分割的LOD等级..... 462

18.3.2  LOD的实现..... 463

18.4  地形结点渲染网格的生成...... 464

18.5  LOD地形渲染实现...... 466

本章小结...... 469

自测习题...... 469

课后作业...... 470

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论