图书介绍
OpenGL游戏程序设计PDF|Epub|txt|kindle电子书版本下载
- (美)K. 霍金,(美)D. 阿斯特著;田昱川译 著
- 出版社: 北京:科学出版社
- ISBN:7030166167
- 出版时间:2006
- 标注页数:550页
- 文件大小:40MB
- 文件页数:567页
- 主题词:图形软件,OpenGL
PDF下载
下载说明
OpenGL游戏程序设计PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1篇 OpenGL和DirectX的介绍1
第1章 而今迈步从头越——OpenGL和DirectX1
1.1 开发游戏需要理由吗1
1.2 3D游戏世界1
1.3 游戏的元素2
1.4 开发工具4
1.5 什么是OpenGL5
1.5.1 OpenGL的历史6
1.5.2 OpenGL的体系结构6
1.5.4 什么是GLUT7
1.5.3 OpenGL实用库7
1.5.5 轻松一瞥8
1.6 什么是DirectX8
1.6.1 DirectX的历史9
1.6.2 DirectX体系结构9
1.7 OpenGL与DirectX11
本章小结12
第2章 Windows操作系统平台上的OpenGL编程13
2.1 Windows编程介绍13
2.1.1 Windows应用程序基础15
2.1.2 从WinMain()开始15
2.1.3 Windows Procedure16
2.1.4 窗口类17
2.1.5 窗口类的注册20
2.1.6 窗口的创建21
2.1.7 消息循环23
2.1.8 一个完整的Windows应用程序24
2.2 WGL介绍28
2.2.1 绘制环境28
2.2.2 WGL的使用29
2.3 像素格式30
2.3.2 dwFlags31
2.3.1 nSize31
2.3.3 iPixelType32
2.3.4 cColorBits32
2.4 OpenGL Windows应用程序33
2.5 全屏OpenGLL40
本章小结41
第3章 3D图形学理论概览43
3.1 标量、点和矢量43
3.1.1 矢量的大小44
3.1.2 矢量的归一化44
3.1.3 矢量加法运算44
3.1.6 叉积运算45
3.1.5 点积运算45
3.1.4 矢量与标量的乘法运算45
3.2 矩阵46
3.2.1 单位矩阵46
3.2.2 零矩阵47
3.2.3 矩阵加法和减法运算47
3.2.4 矩阵乘法运算47
3.2.5 矩阵的总体实现49
3.3 变换51
3.3.1 平移变换51
3.3.2 旋转变换52
3.3.3 缩放变换53
3.4 投影54
3.4.1 平行投影55
3.4.2 透视投影55
3.5 3D剪裁57
3.6 光照58
3.6.1 环境光58
3.6.2 散射光58
3.6.3 镜面反射光59
3.7 纹理映射59
本章小结60
4.1 状态函数61
第4章 OpenGL状态和图元61
第2篇 使用OpenGL61
4.2 图元的处理67
4.2.1 3D空间中点的绘制68
4.2.2 3D空间中线的绘制70
4.2.3 3D空间中的多边形的绘制72
4.2.4 图元的使用76
本章小结76
第5章 坐标变换和OpenGL矩阵77
5.1 理解坐标变换77
5.1.1 视点和眼坐标78
5.1.2 视图变换79
5.1.3 模型变换82
5.1.4 投影变换83
5.1.5 视区变换84
5.2 OpenGL和矩阵84
5.2.1 模型视图矩阵84
5.2.2 平移变换85
5.2.3 旋转变换86
5.2.4 缩放变换86
5.2.5 矩阵堆栈87
5.2.6 机器人例程89
5.3.1 正交投影变换99
5.3 投影变换99
5.3.2 透视投影变换100
5.3.3 视区的设置101
5.3.4 投影变换实例101
5.4 自定义矩阵的使用103
5.4.1 自定义矩阵的载入103
5.4.2 矩阵的乘法运算104
5.4.3 自定义矩阵的实例104
本章小结105
第6章 添加颜色、混合与光照106
6.1 颜色是如何工作的106
6.2.1 颜色深度107
6.2 在OpenGL中使用颜色107
6.2.2 颜色立方体模型108
6.2.3 OpenGL中的RGBA模式108
6.2.4 OpenGL中的颜色索引模式109
6.3 明暗处理110
6.4 OpenGL中的光照111
6.4.1 OpenGL光照和现实世界111
6.4.2 材质112
6.4.3 法线112
6.4.4 OpenGL光照的使用116
6.5 颜色混合136
透明度137
本章小结142
第7章 位图、图像与OpenGL143
7.1 OpenGL位图143
7.1.1 位图的定位144
7.1.2 位图的绘制144
7.1.3 一个OpenGL位图例程145
7.2 图像的使用147
7.2.1 图像数据的绘制147
7.2.2 屏幕的读取148
7.3 像素存储的管理149
7.2.4 放大、缩小和翻转149
7.2.3 屏幕数据的复制149
7.4 Windows位图150
7.4.1 BMP文件格式150
7.4.2 BMP文件的载入151
7.4.3 BMP文件的输出152
7.5 Targa图像文件154
7.5.1 Targa文件格式154
7.5.2 Targa文件的载入155
7.5.3 Targa文件的输出156
本章小结158
8.1 纹理映射的概览160
第8章 纹理映射160
8.2 纹理图的应用166
8.2.1 2D纹理166
8.2.2 1D纹理166
8.2.3 3D纹理167
8.3 纹理对象167
8.3.1 纹理名字的生成167
8.3.2 纹理对象的创建和使用168
8.4 纹理的过滤处理168
8.6 纹理坐标169
8.5 纹理模式169
8.6.1 重复和夹持纹理170
8.6.2 mipmap和细节层次172
8.6.3 mipmap的自动生成173
8.7 例程——飘动的旗帜173
8.7.1 例程的解释说明173
8.7.2 例程的实现174
8.8 例程——高程纹理地形184
8.8.1 例程的解释说明184
8.8.2 例程的实现188
本章小结196
9.1 多纹理映射197
第9章 高级纹理映射197
9.1.1 多纹理支持的验证198
9.1.2 扩展函数的访问199
9.1.3 纹理单元的建立199
9.1.4 纹理坐标的设置(指定)201
9.1.5 综合应用202
9.2 环境映射210
9.3 纹理矩阵213
9.4 光照映射215
9.5 多通道多纹理映射221
本章小结225
第10章 显示列表与顶点数组226
10.1 显示列表226
10.1.1 显示列表的创建227
10.1.2 向显示列表中填充命令227
10.1.3 显示列表的执行228
10.1.4 显示列表的注意事项229
10.1.5 显示列表的销毁229
10.1.6 显示列表与纹理230
10.1.7 例程:使用显示列表的机器人演示程序231
10.2 顶点数组232
10.2.1 顶点数组的启用233
10.2.2 数组的使用234
10.2.3 顶点数组与多纹理映射236
10.2.4 数组的锁定237
10.2.5 例程:再建地形演示程序237
本章小结240
第11章 文本的显示241
11.1 位图字体241
11.2 轮廓字体245
11.3 纹理映射字体248
本章小结254
12.1.1 像素格式的设置256
第12章 OpenGL缓存256
12.1 什么是OpenGL缓存256
12.1.2 缓存的清理259
12.2 颜色缓存259
12.2.1 双缓存系统260
12.2.2 立体缓存260
12.3 深度缓存261
12.3.1 深度比较程序261
12.3.2 深度缓存的使用261
12.4 模板缓存271
12.5 累积缓存279
本章小结280
第13章 OpenGL二次曲面282
13.1 OpenGL二次曲面的基础282
13.1.1 绘制风格283
13.1.2 法线283
13.1.3 指向283
13.1.4 纹理坐标283
13.1.5 清理284
13.2 圆盘284
13.3 圆柱285
13.4 球286
13.5 例程:飞掠一个二次世界287
本章小结290
第14章 曲线与曲面291
14.1 曲线与曲面的描述291
14.1.1 参数方程292
14.1.2 控制点与连续性292
14.2 求值程序293
14.3 曲面297
14.4 NURBS303
本章小结307
15.1 标志板309
第15章 特殊效果309
15.2 粒子系统的使用312
15.2.1 粒子313
15.2.2 粒子系统315
15.2.3 粒子系统管理器318
15.2.4 实例318
15.2.5 粒子系统的效果321
15.2.6 例程:暴风雪322
15.3 雾326
15.3.1 OpenGL的雾326
15.3.2 体积雾327
15.4 镜像328
15.4.1 光照的镜像328
15.4.2 深度缓存的处理328
15.4.3 使用模板缓存来处理有限的平面329
15.4.4 对于非常规镜像表面的处理330
15.4.5 对任意指向的平面的处理330
15.5 阴影331
15.5.1 静态阴影331
15.5.2 投射阴影332
15.5.3 模板阴影体334
15.5.5 例程:镜像与阴影335
15.5.4 其他的方法335
本章小结338
第3篇 建立一个游戏339
第16章 DirectX的使用:Directlnput339
16.1 为什么要使用DirectInput339
16.1.1 Windows消息339
16.1.2 Win32341
16.1.3 DirectInput343
16.2 DirectInput的初始化344
16.3 DirectInput的使用345
16.3.1 设备的添加346
16.3.2 输入的获取353
16.3.3 关闭354
16.4 动作映射355
16.5 输入子系统的建立355
16.6 输入系统例程364
本章小结366
第17章 DirectX Audio的使用367
17.1 声音的基础367
17.2 什么是DirectX Audio370
17.2.1 DirectX Audio的功能部件371
17.2.2 音频数据流373
17.3 使用DirectMusic加载和演奏音频374
17.3.2 创建与初始化演奏对象375
17.3.1 初始化COM375
17.3.3 创建loader对象376
17.3.4 载入一个segment对象376
17.3.5 下载波段377
17.3.6 演奏segment377
17.3.7 停止一个segment的播放378
17.3.8 segment是否正在播放378
17.3.9 segment循环的控制379
17.3.10 清理379
17.4 一个简单的例程380
17.5.1 默认的Audiopath391
17.5 Audiopath的使用391
17.5.2 标准Audiopath392
17.5.3 在Audiopath上播放声音392
17.5.4 从Audiopath获取对象394
17.6 3D声音394
17.6.1 3D声音坐标395
17.6.2 感知395
17.6.3 DirectSound 3D缓存395
17.6.4 3D参数的设置396
17.6.5 DirectSound 3D听者398
17.6.6 3D音效文本例程399
本章小结412
第18章 3D模型的处理414
18.1 3D模型文件格式414
18.2 MD2文件格式415
18.2.1 MD2的实现417
18.2.2 MD2的载入421
18.2.3 MD2的显示425
18.2.4 添加纹理427
18.2.5 模型的动画429
18.2.6 开发一个CMD2Model类434
18.2.7 模型动画的控制445
18.3 最后的一点小资料448
本章小结452
第19章 OpenGL物理建模453
19.1 物理学的回顾453
19.1.1 时间453
19.1.2 距离、位移和位置454
19.1.3 速度456
19.1.4 加速度457
19.1.5 作用力458
19.1.6 动量459
19.1.7 摩擦力461
19.2 真实世界的模拟463
19.2.2 定时464
19.2.1 任务的分解464
19.2.3 矢量469
19.2.4 平面474
19.2.5 物体478
19.2.6 物体碰撞的处理480
19.2.7 一个例程:空中曲棍球486
本章小结509
第20章 建立一个游戏引擎510
20.1 SimpEngine的设计510
20.1.1 利用CNode管理数据511
20.1.2 对象的处理:CObject515
20.2 引擎核520
20.2.1 输入系统522
20.2.2 CEngine类523
20.2.3 游戏循环524
20.2.4 输入的处理525
20.2.5 SimpEngine526
20.3 视点527
20.4 场景530
20.5 模型的添加530
20.6 音频系统531
20.7 粒子系统533
本章小结534
第21章 创建一个游戏:杀戮时刻535
21.1 初始设计535
21.2 游戏场景535
21.3 敌人538
21.4 火箭与爆炸542
21.5 用户的交互543
21.6 运行游戏544
21.7 建立EXE可执行文件544
本章小结545
A.1 游戏开发546
附录A 在线资源546
第4篇 附录546
A.2 OpenGL547
A.3 DirectX547
A.4 其他的资源548
附录B 随书所附资料的使用549
B.1 用户界面549
B.2 文件结构549
B.3 系统要求549
B.4 安装549
B.5 其他相关问题与疑难解答信息550
B.6 是否仍旧需要帮助550