第一篇 OpecGL 1
第1章 制作OpenGl黑屏窗口框架程序 1
1.1 在Visual C++下建立Win32应用程序 2
1.2 程序的开头部分——include文件设置及全局变量 4
1.3 设置OpenGL场景尺寸 5
1.4 OpenGL的初始化 7
1.5 OpenGL的绘制 9
1.7 激活OpenGL及改变屏幕分辨率 10
1.6 关闭OpenGL 10
1.8 处理窗口的消息及键盘事件处理 11
1.9 WinMain 13
1.10 本章小结 17
1.11 本章源码 17
第2章 绘制无色的三角形和正方形 25
2.1 绘制三角形 25
2.2 绘制矩形 27
2.4 本章源码 29
2.3 本章小结 29
第3章 绘制彩色的三角形和正方形 37
3.1 绘制彩色带混色的三角形 37
3.2 绘制单一色彩的矩形 39
3.3 本章小结 40
3.4 本章源码 40
第4章 制作彩色旋转的三角形和正方形 48
4.1 彩色带混色的三角形的旋转 48
4.2 单一色彩的矩形的旋转 51
4.3 本章小结 52
4.4 本章源码 53
第5章 制作彩色旋转的金字塔和正方体 61
5.1 绘制彩色旋转的金字塔 61
5.2 绘制彩色旋转的正方体 66
5.3 本章小结 71
5.4 本章源码 71
第6章 制作旋转的带纹理贴图的正方体 80
6.1 程序include及全局变量定义 81
6.2 读取文件 82
6.3 将位图转换成纹理 83
6.4 OpenGL初始化(包括纹理的初始化) 85
6.5 绘制带纹理的正方体 86
6.6 本章小结 90
6.7 本章源码 90
第7章 实现纹理过滤器,基本的光照和键盘控制等特效 101
7.1 新增的设置 103
7.2 读取位图文件 106
7.3 读取位图文件并将其转换为纹理 107
7.4 OpenGL的初始化 110
7.5 绘制带纹理贴图的正方体 112
7.6 增加键盘交互功能 115
7.7 本章小结 118
7.8 本章源码 119
8.1 使用混合功能实现透明的原理 131
第8章 制作透明的带纹理贴图的可键盘控制的正方体 131
8.2 程序新的全局变量的设置 132
8.3 OpenGL初始化程序SceneInit()的修改 134
8.4 增加 B 键的处理 134
8.5 本章小结 135
8.6 本章源码 135
第9章 制作美丽的星空 148
9.1 新的全局变量的设置 149
9.2 读取纹理位图图像 150
9.3 读取位图并将其转换成纹理 151
9.4 OpenGL的初始化 152
9.5 绘制星星 153
9.6 修改键盘事件的处理 154
9.7 本章小结 154
9.8 本章源码 155
第10章 用3D实现的在屋子里移动 165
10.1 建立三维结构 166
10.2 读取模型数据 166
10.3 控制相机实现在3D世界中真实的移动 168
10.4 绘制三维场景 170
10.5 本章小结 174
10.6 本章源码 174
第二篇 DirectX 3D 189
第11章 制作不断变换背景颜色的DirectX窗口 189
11.1 include及全局变量的设置以及重要的声明 190
11.2 初始化场景 191
11.3 检测是否支持16位色彩模式 191
11.4 对Direct3D进行初始化 191
11.5 释放Direct3D资源 193
11.6 绘图 193
11.7 处理视窗消息 194
11.8 编写WinMain() 195
11.9 本章小结 197
11.10 本章源码 198
12.1 定义新的数据结构 205
第12章 制作黑白的三角形和正方形 205
12.2 修改D3DDisable函数 206
12.3 对函数D3DInit()进行修改 207
12.4 绘制 209
12.5 本章源码(1) 210
12.6 制作黑白的三角形和正方形的另一种方法 219
12.7 对函数D3DDisable的修改 220
12.8 修改函数D3DInit 220
12.9 为D3DSceneShow()增加新的功能 222
12.10 本章小结 223
12.11 本章源码(2) 223
第13章 制作彩色的三角形和正方形 233
13.1 实现多边形的着色 233
13.2 本章小结 234
13.3 本章源码 234
第14章 制作彩色旋转的三角形和正方形 244
14.1 实现旋转功能 244
14.3 本章源码 246
14.2 本章小结 246
第15章 制作彩色旋转的金字塔和正方体 256
15.1 定义金字塔及正方体的顶点坐标 256
15.2 修改D3DInit函数 258
15.3 修改函数D3DSceneShow() 259
15.4 本章小结 260
15.5 本章源码 260
16.1 定义新的全局变量及修改顶点的定义 271
第16章 制作带纹理贴图的旋转的正方体 271
16.2 修改D3DDisable()函数 273
16.3 修改D3DInit()函数 274
16.4 读取纹理位图文件并实现对象的纹理贴图 274
16.5 绘制带纹理贴图的正方体 275
16.6 本章小结 275
16.7 本章源码 275
第17章 制作纹理过滤、光照效果以及键盘控制 287
17.1 为使用灯光效果及键盘交互而增加的设置 288
17.2 在D3DInit中增加对灯光及纹理过滤的支持 290
17.3 修改函数D3DSceneShow() 292
17.4 增加键盘控制功能 293
17.5 本章小结 295
17.6 本章源码 295
第18章 制作透明效果 309
18.1 增加一些设定 309
18.2 修改子程序D3DInit 311
18.4 修改用于绘制的D3DSceneShow()函数 313
18.3 更新D3DDisable函数 313
18.5 本章小结 314
18.6 本章源码 314
附录1 330
OpenGL指令集 330
OpenGL核心函数库 330
OpenGL应用函数库 333
附录2 336
安装DirectX 8.0 SDK 336