第二版前言 1
第一版前言 1
第1章 OpenGL与图形可视化概述 1
1.1 图形可视化概述 1
1.2 OpenGL的发展 1
1.2.1 关于OpenGL 1
1.2.2 OpenGL 1.X回顾 2
1.2.3 从1.X到2.0 3
1.3 OpenGL 2.0的新技术 3
1.3.1 OpenGL 2.0由来 3
1.3.2 OpenGL 2.0特点与新技术 4
1.4 OpenGL基本操作 6
1.5 OpenGL图形的实现 7
1.5.1 OpenGL体系结构 7
1.5.2 渲染上下文(RC) 8
1.5.3 调色板的使用 10
1.5.4 像素格式设置 11
1.5.5 OpenGL处理流程与图形绘制方式 14
1.6 OpenGL开发库的基本组成 15
1.6.1 OpenGL开发组件 15
1.6.2 OpenGL函数 16
1.7 OpenGL程序运行方式 17
2.1 OpenGL绘图基本知识 18
2.1.1 基本数据类型 18
第2章 OpenGL编程基础 18
2.1.2 图形绘制 19
2.1.3 显示列表 20
2.1.4 OpenGL颜色 22
2.1.5 OpenGL光照模型 23
2.1.6 材质设置 24
2.1.7 纹理映射 25
2.1.8 选择与反馈 26
2.1.9 帧缓存与动画 27
2.2 基于对话框的OpenGL图形程序的基本框架 29
2.2.1 程序说明 29
2.2.2 理论基础 29
2.2.3 编程步骤 30
2.2.4 加入到AppWizard 36
2.3 基于单文档的OpenGL图形程序的基本框架 37
2.3.1 程序说明 37
2.3.2 理论基础 38
2.3.3 编程步骤 38
2.3.4 加入到AppWizard 42
2.4 基于多文档的OpenGL图形程序的基本框架 42
2.4.1 程序说明 42
2.4.2 理论基础 43
2.4.3 编程步骤 43
2.4.4 加入到AppWizard 50
2.5.1 程序说明 51
2.5.2 添加OpenGL引用 51
2.5 Visual Basic语言开发OpenGL程序的基本框架 51
2.5.3 OpenGL窗口的初始化 52
2.5.4 OpenGL图形的绘制 53
2.6 Fortran语言开发OpenGL程序的基本框架 55
2.6.1 程序说明 55
2.6.2 添加OpenGL开发库 55
2.6.3 OpenGL窗口的初始化 55
2.6.4 OpenGL图形的绘制 59
2.7 Delphi语言开发OpenGL程序的基本框架 61
2.7.1 程序说明 61
2.7.2 添加OpenGL开发库 61
2.7.3 OpenGL窗口的初始化 61
2.7.4 OpenGL图形的绘制 65
第3章 外部三维图形文件的输入与处理 68
3.1 3DS文件格式 68
3.1.1 3DS文件格式简介 68
3.1.2 3D编辑程序块 70
3.1.3 关键帧块 74
3.2 3DS文件输入程序介绍 75
3.2.1 程序说明 75
3.2.2 论基础 75
3.2.3 编程步骤 77
3.3 OBJ文件格式介绍 107
3.4 OBJ文件输入程序介绍 111
3.4.1 程序说明 111
3.4.2 理论基础 112
3.4.3 编程步骤 113
3.5 其他格式3D文件的处理方法 133
3.5.1 各种格式的3D文件的相互转换 133
3.5.2 WRL文件的读入 134
3.5.3 ASE文件的读入 136
3.5.4 3DS转换成OpenGL文件的读入 138
第4章 三维地形的模拟 140
4.1 地形模拟概述 140
4.2 编程实例一 141
4.2.1 程序说明 141
4.2.2 理论基础 141
4.2.3 编程步骤 142
4.3.2 理论基础 156
4.3 编程实例二 156
4.3.1 程序说明 156
4.3.3 编程步骤 159
第5章 蓝天白云的模拟 164
5.1 模拟实例一 164
5.1.1 程序说明 164
5.1.2 理论基础 165
5.1.3 编程步骤 166
5.2 模拟实例二 170
5.2.1 程序说明 170
5.2.2 理论基础 170
5.2.3 编程步骤 174
6.1.2 理论基础 180
6.1.1 程序说明 180
6.1 模拟实例一 180
第6章 星空的模拟 180
6.1.3 编程步骤 182
6.2 模拟实例二 188
6.2.1 程序说明 188
6.2.2 理论基础 189
6.2.3 编程步骤 190
第7章 水的波动的模拟 200
7.1 编程实例一 200
7.1.1 程序说明 200
7.1.2 理论基础 200
7.1.3 编程步骤 202
7.2 编程实例二 206
7.2.1 程序说明 206
7.2.2 理论基础 206
7.2.3 编程步骤 207
第8章 粒子系统的模拟 215
8.1 粒子系统概述 215
8.1.1 过程模型 215
8.1.2 粒子系统 215
8.2 编程实例一 216
8.2.1 程序说明 216
8.2.2 理论基础 217
8.2.3 编程步骤 218
8.3.1 程序说明 224
8.3 编程实例二 224
8.3.2 理论基础 225
8.3.3 编程步骤 227
第9章 碰撞检测编程 237
9.1 碰撞检测概述 237
9.2 编程实例一 238
9.2.1 程序说明 238
9.2.2 理论基础 239
9.2.3 编程步骤 241
9.3 编程实例二 270
9.3.1 程序说明 270
9.3.2 理论基础 271
9.3.3 编程步骤 271
10.1 LOD技术概述 277
第10章 LOD技术编程 277
10.2 编程实例一 280
10.2.1 程序说明 280
10.2.2 理论基础 280
10.2.3 编程步骤 281
第11章 火焰的模拟 309
11.1 编程实例一 309
11.1.1 程序说明 309
11.1.2 理论基础 309
11.1.3 编程步骤 310
11.2 编程实例二 314
11.2.1 程序说明 314
11.2.2 理论基础 315
11.2.3 编程步骤 316
第12章 爆炸效果的模拟 333
12.1 编程实例一 333
12.1.1 程序说明 333
12.1.2 理论基础 333
12.1.3 编程步骤 335
12.2 编程实例二 355
12.2.1 程序说明 355
12.2.2 理论基础 355
12.2.3 编程步骤 357
13.1.2 理论基础 363
13.1.1 程序说明 363
13.1 编程实例一 363
第13章 霓虹效果的模拟 363
13.1.3 编程步骤 364
13.2 编程实例二 367
13.2.1 程序说明 367
13.2.2 理论基础 368
13.2.3 编程步骤 370
13.3 编程实例三 376
13.3.1 程序说明 376
13.3.2 理论基础 377
13.3.3 编程步骤 378
14.1.1 程序说明 390
14.1.2 理论基础 390
14.1 编程实例一 390
第14章 对象捕捉的编程 390
14.1.3 编程步骤 392
14.2 编程实例二 408
14.2.1 程序说明 408
14.2.2 理论基础 408
14.2.3 编程步骤 410
第15章 自然现象的模拟 414
15.1 编程实例一 414
15.1.1 程序说明 414
15.1.2 理论基础 414
15.1.3 编程步骤 415
15.2.2 理论基础 420
15.2.1 程序说明 420
15.2 编程实例二 420
15.2.3 编程步骤 421
第16章 OpenGL实现3D屏幕保护程序 429
16.1 屏幕保护程序编写方法 429
16.1.1 屏幕保护开发库 429
16.1.2 MFC开发屏幕保护程序 430
16.2 编程实例一 430
16.2.1 程序说明 430
16.2.2 理论基础 431
16.2.3 编程步骤 432
16.3 编程实例二 436
16.3.1 程序说明 436
16.3.2 理论基础 436
16.3.3 编程步骤 439