网上购物 货比三家
您现在的位置:快乐比价网 > 图书 > 计算机与网络 > 图形图像 > 商品详情

DirectX9.0\3D游戏开发编程基础/游戏软件开发专家系列

分享到:
DirectX9.0\3D游戏开发编程基础/游戏软件开发专家系列

最 低 价:¥31.70

定 价:¥46.00

作 者:(美)FrankD.Luna

出 版 社:清华大学出版社

出版时间:

I S B N:9787302130253

商品详情

编辑推荐

  本书从游戏开发的角度介绍如何使用DirectX9.0开发交互式3D图形程序。全书从介绍必要的数学工具过渡到一些相关的3D概念,然后讨论了Direct3D的所有基本运算(例如图元的绘制、光照、纹理、Alpha融合、模板)以及如何使用Direct3D实现游戏中所需的技术。在介绍顶点着色器和像素着色器的章节中(包含效果框架和新的高级着色语言的内容)对这些运算进行了较为集中的讨论。

内容简介

      本书主要介绍如何使用DirectX 9.0开发交互式3D图形程序,重点是游
  戏开发。全书首先介绍了必要的数学工具,然后讲解了相关的3D概念。其他
  主题几乎涵盖了Direct3D中的所有基本运算,例如图元的绘制、光照、纹理
  、Alpha融合、模板,以及如何使用Direct3D实现游戏中所需的技术。介绍
  顶定点着色器和像素着色器的章节(包含了效果框架和新的高级着色语言的
  内容)对这些关键运算进行了较为集中的讨论。
      本书内容深入浅出,内容广泛,可供从事3D游戏程序设计、可视化系统
  设计或其他图形应用程序开发的开发人员和大中专院校学生参考,也极适合
  各种游戏开发培训机构作为Direct3D编程的培训教程。
  

作者简介

  Frank D.Luna是Hero Interactive的程序员,从事交互式3D图形编程已八年多。他最早接触DirectX可以追溯到DirectX 5发布之时,目前居住在加州的洛杉矶市。Rod Lopez是Digital IIIusions CE的资深程序员,至今为止他已经从事游戏开发十年了。

目录

  第Ⅰ部分  基础知识
  必备的数学知识 3
  3D空间中的向量 3
  向量相等 7
  计算向量的长度 7
  向量的规范化 8
  向量加法 9
  向量减法 9
  数乘 10
  点积 11
  叉积 11
  矩阵  12
  矩阵相等、矩阵数乘和矩阵加法 13
  矩阵乘法 14
  单位矩阵 15
  逆矩阵  15
  矩阵的转置 16
  D3DX矩阵 16
  基本变换 19
  平移矩阵 20
  旋转矩阵 21
  比例变换矩阵 23
  几何变换的组合 24
  向量变换的一些函数 25
  平面(选读) 26
  D3DXPLANE 27
  点和平面的空间关系 27
  平面的创建 28
  平面的规范化 29
  平面的变换 29
  平面中到某一点的最近点 30
  射线(选读) 31
  射线 31
  射线与平面的相交 32
  小结  32
  第Ⅱ部分  Direct3D基础
  第1章  初始化Direct3D 37
  1.1  Direct3D概述 37
  1.1.1  REF设备 38
  1.1.2  D3DDEVTYPE 38
  1.2  COM(组件对象模型) 38
  1.3  预备知识 39
  1.3.1  表面 39
  1.3.2  多重采样 41
  1.3.3  像素格式 42
  1.3.4  内存池 42
  1.3.5  交换链和页面置换 43
  1.3.6  深度缓存 44
  1.3.7  顶点运算 45
  1.3.8  设备性能 45
  1.4  Direct3D的初始化 46
  1.4.1  获取接口IDirect3D9的指针 47
  1.4.2  校验硬件顶点运算 47
  1.4.3  填充D3DPRESENT_
  PARAMETER结构 48
  1.4.4  创建IDirect3DDevice9
  接口 50
  1.5  例程:Direct3D的初始化 51
  1.5.1  d3dUtility.h/cpp 52
  1.5.2  例程框架 53
  1.5.3  例程:D3D初始化 54
  1.6  小结 56
  第2章  绘制流水线 58
  2.1  模型表示 59
  2.1.1  顶点格式 60
  2.1.2  三角形单元 60
  2.1.3  索引 61
  2.2  虚拟摄像机 62
  2.3  绘制流水线 63
  2.3.1  局部坐标系 64
  2.3.2  世界坐标系 64
  2.3.3  观察坐标系 65
  2.3.4  背面消隐 67
  2.3.5  光照 68
  2.3.6  裁剪 68
  2.3.7  投影 69
  2.3.8  视口变换 70
  2.3.9  光栅化 72
  2.4  小结 72
  第3章  Direct3D中的绘制 73
  3.1  顶点缓存与索引缓存 73
  3.1.1  创建顶点缓存和索引缓存 73
  3.1.2  访问缓存内容 76
  3.1.3  获取顶点缓存和
  索引缓存的信息 77
  3.2  绘制状态 78
  3.3  绘制的准备工作 78
  3.4  使用顶点缓存和索引缓存进行绘制 79
  3.4.1  IDirect3DDevice9::
  DrawPrimitive 79
  3.4.2  IDirect3DDevice9::
  DrawIndexedPrimitive 80
  3.4.3  Begin/End Scene 81
  3.5  D3DX几何体 81
  3.6  例程:三角形、立方体、
  茶壶、D3DXCreate* 83
  3.7  小结 87
  第4章  颜色 89
  4.1  颜色表示 89
  4.2  顶点颜色 92
  4.3  着色 92
  4.4  例程:具有颜色的三角形 93
  4.5  小结 95
  第5章  光照 97
  5.1  光照的组成 97
  5.2  材质 98
  5.3  顶点法线 100
  5.4  光源 102
  5.5  例程:光照 105
  5.6  一些附加例程 108
  5.7  小结 108
  第6章  纹理映射 109
  6.1  纹理坐标 110
  6.2  创建并启用纹理 111
  6.3  纹理过滤器 112
  6.4  多级渐进纹理 113
  6.4.1  多级渐进纹理过滤器 114
  6.4.2  使用多级渐进纹理 114
  6.5  寻址模式 114
  6.6  例程:纹理四边形 116
  6.7  小结 118
  第7章  融合技术 119
  7.1  融合方程 119
  7.2  融合因子 121
  7.3  透明度 122
  7.3.1  Alpha通道 122
  7.3.2  指定Alpha来源 123
  7.4  用DirectX Texture Tool
  创建Alpha通道 123
  7.5  例程:透明效果 125
  7.6  小结 127
  第8章  模板 128
  8.1  模板缓存的使用 129
  8.1.1  模板缓存格式的查询 129
  8.1.2  模板测试 130
  8.1.3  模板测试的控制 130
  8.1.4  模板缓存的更新 132
  8.1.5  模板写掩码 132
  8.2  例程:镜面效果 133
  8.2.1  成像中的数学问题 133
  8.2.2  镜面效果实现概述 134
  8.2.3  代码解析 135
  8.3  例程:Planer Shadows 139
  8.3.1  平行光阴影 139
  8.3.2  点光源产生的阴影 140
  8.3.3  阴影矩阵 141
  8.3.4  使用模板缓存
  防止二次融合 142
  8.3.5  代码解析 143
  8.4  小结 144
  第Ⅲ部分  Direct3D的应用
  第9章  字体 149
  9.1  ID3DXFont接口 149
  9.1.1  创建一个ID3DXFont
  接口对象 149
  9.1.2  绘制文本 150
  9.1.3  计算每秒绘制的帧数 151
  9.2  CD3DFont 152
  9.2.1  创建CD3DFont类的实例 152
  9.2.2  绘制文本 152
  9.2.3  清理 153
  9.3  D3DXCreateText函数 153
  9.4  小结 155
  第10章  网格(一) 156
  10.1  几何信息 156
  10.2  子集和属性缓存 157
  10.3  绘制 159
  10.4  网格优化 159
  10.5  属性表 161
  10.6  邻接信息 163
  10.7  克隆 164
  10.8  创建网格(D3DXCreateMeshFVF) 165
  10.9  例程:网格的创建与绘制 167
  10.10  小结 172
  第11章  网格(二) 174
  11.1  ID3DXBuffer 174
  11.2  XFile 175
  11.2.1  加载XFile文件 175
  11.2.2  XFile材质 176
  11.2.3  例程:XFile 177
  11.2.4  生成顶点法线 180
  11.3  渐进网格 181
  11.3.1  生成渐进网格 182
  11.3.2  顶点属性权值 183
  11.3.3  ID3DXPMesh接口方法 183
  11.3.4  例程:Progressive Mesh 184
  11.4  外接体 187
  11.4.1  一些新的特殊常量 189
  11.4.2  外接体的类型 189
  11.4.3  例程:Bounding Volumes 190
  11.5  小结 192
  第12章  设计一个灵活的Camera类 193
  12.1  Camera类的设计 193
  12.2  实现细节 195
  12.2.1  观察矩阵(取景变换矩阵,
  View Matrix)的计算 195
  12.2.2  绕任意轴的旋转 198
  12.2.3  俯仰、偏航和滚动 199
  12.2.4  行走、扫视和升降 201
  12.3  例程:Camera 202
  12.4  小结 205
  第13章  地形绘制基础 206
  13.1  高度图 207
  13.1.1  创建高度图 207
  13.1.2  加载RAW文件 208
  13.1.3  访问和修改高度图 209
  13.2  创建地形几何信息 210
  13.2.1  顶点的计算 212
  
  13.2.2  索引的计算 214
  13.3  纹理映射 216
  13.4  光照 219
  13.4.1  概述 219
  13.4.2  坐标方格的明暗度计算 220
  13.4.3  对地形进行着色 222
  13.5  在地形中“行走” 222
  13.6  例程:Terrain 226
  13.7  一些改进 228
  13.8  小结 229
  第14章  粒子系统 230
  14.1  粒子和点精灵 230
  14.1.1  结构格式 230
  14.1.2  点精灵的绘制状态 231
  14.1.3  粒子及其属性 233
  14.2  粒子系统的组成 234
  14.2.1  绘制一个粒子系统 238
  14.2.2  随机性 243
  14.3  具体的粒子系统 243
  14.3.1  例程:Snow System 244
  14.3.2  例程:Firework 246
  14.3.3  例程:Particle Gun 248
  14.4  小结 250
  第15章  拾取 251
  15.1  屏幕到投影窗口的变换 253
  15.2  拾取射线的计算 254
  15.3  对射线进行变换 255
  15.4  射线/物体相交判定 256
  15.5  例程:Picking 258
  15.6  小结 259
  第Ⅳ部分  着色器和效果
  第16章  高级着色语言(HLSL)入门 263
  16.1  HLSL着色器程序的编制 264
  16.1.1  全局变量 266
  16.1.2  输入和输出结构 266
  16.1.3  入口函数 267
  16.2  HLSL着色器程序的编译 268
  16.2.1  常量表 268
  16.2.2  HLSL着色器程序的编译 272
  16.3  变量类型 274
  16.3.1  标量类型 274
  16.3.2  向量类型 274
  16.3.3  矩阵类型 275
  16.3.4  数组 277
  16.3.5  结构体 277
  16.3.6  关键字typedef 277
  16.3.7  变量的前缀 278
  16.4  关键字、语句及类型转换 279
  16.4.1  关键字 279
  16.4.2  基本程序流程 279
  16.4.3  类型转换 280
  16.5  运算符 281
  16.6  用户自定义函数 282
  16.7  内置函数 284
  16.8  小结 286
  第17章  顶点着色器入门 287
  17.1  顶点声明 288
  17.1.1  顶点声明的描述 288
  17.1.2  顶点声明的创建 291
  17.1.3  顶点声明的启用 291
  17.2  顶点数据的使用 291
  17.3  使用顶点着色器的步骤 293
  17.3.1  顶点着色器的编写与编译 294
  17.3.2  顶点着色器的创建 294
  17.3.3  顶点着色器的设置 294
  17.3.4  顶点着色器的销毁 295
  17.4  例程:Diffuse Lighting 295
  17.5  例程:Cartoon Rendering 302
  17.5.1  卡通着色 303
  17.5.2  卡通着色的顶点
  着色器代码 304
  17.5.3  轮廓的勾勒 307
  17.5.4  实现轮廓勾勒的
  顶点着色器代码 310
  17.6  小结 312
  第18章  像素着色器入门 313
  18.1  多重纹理概述 313
  18.1.1  启用多重纹理 315
  18.1.2  多重纹理坐标 316
  18.2  像素着色器的输入和输出 317
  18.3  使用像素着色器的步骤 318
  18.3.1  像素着色器的编写和编译 318
  18.3.2  像素着色器的创建 318
  18.3.3  像素着色器的设置 319
  18.3.4  像素着色器的销毁 319
  18.4  HLSL采样器对象 319
  18.5  例程:像素着色器中的多重纹理 321
  18.6  小结 329
  第19章  效果框架 331
  19.1  手法与路径 331
  19.2  更多HLSL的内置对象 333
  19.2.1  纹理对象 333
  19.2.2  采样器对象与采样器状态 333
  19.2.3  顶点着色器对象和
  像素着色器对象 334
  19.2.4  字符串 335
  19.2.5  注释 335
  19.3  效果文件中的设备状态 336
  19.4  创建一种效果 337
  19.5  常量的设置 338
  19.6  使用一种效果 340
  19.6.1  效果句柄的获取 341
  19.6.2  效果的激活 341
  19.6.3  效果的启用 341
  19.6.4  当前绘制路径的设置 342
  19.6.5  效果的终止 342
  19.6.6  一个例子 342
  19.7  例程:效果文件中的光照和纹理 343
  19.8  例程:雾效 349
  19.9  例程:卡通效果 352
  19.10  EffectEdit 353
  19.11  小结 354
  附录  Windows编程入门 355
  参考文献 372
  

商品评论(0条)

暂无评论!

您的浏览历史

loading 内容加载中,请稍后...