图书介绍
OpenGL程序设计pdf电子书版本下载
- 乔林,费广正等编著 著
- 出版社: 北京:清华大学出版社
- ISBN:7900625151
- 出版时间:2000
- 标注页数:456页
- 文件大小:23MB
- 文件页数:471页
- 主题词:
PDF下载
下载说明
OpenGL程序设计PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 OpenGL编程基础知识 1
1.1 图形学的基本发展状况 1
1.1.1 蓬勃发展的计算机图形学 1
1.1.2 计算机图形学的广泛应用 2
1.2 OpenGL概述 3
1.2.1 OpenGL基本概念 4
1.2.2 OpenGL命令语法及各种状态的含义 7
1.3 运用辅助库创建规则几何对象 8
1.3.1 辅助库简介 8
1.3.2 辅助库分类 8
1.3.3 辅助库应用示例 8
1.4 OpenGL辅助库函数详解 16
1.4.1 窗口初始化函数 16
1.4.2 窗口处理和事件处理函数 17
1.4.3 定义场景绘制循环函数 17
1.4.4 三维物体绘制函数 18
1.4.5 颜色索引表装入函数 19
1.4.6 空闲事件处理函数 19
1.5 Windows环境下OpenGL编程简介 19
1.5.1 OpenGL在Windows下的运行机制 19
1.5.2 Windows下新增OpenGL相关函数 20
1.5.3 VC环境下基于OpenGL的编程步骤 20
1.5.4 建立三维实体模型 22
第2章 Win32环境下OpenGL编程概论 25
2.1 Windows环境下OpenGL基本程序结构 25
2.1.1 Windows环境下OpenGL工作机制 25
2.1.2 OpenGL与Windows的绘图方式 25
2.1.3 像素格式的结构和参数设置 26
2.2 Windows环境下OpenGL编程方法 28
2.2.1 示例源程序 28
2.2.2 建立GDI窗口 35
2.2.3 建立用于OpenGL绘制的窗口 36
2.2.4 用OpenGL绘图 37
2.2.5 释放设备描述表和绘制描述表 39
2.3 利用Visual C++ 6.0的AppWizard编写OpenGL应用程序 39
2.3.1 创建一个新工程 40
2.3.2 设置编译环境 43
2.3.3 加入OpenGL库 43
第3章 Win32环境下OpenGL相关函数及结构 44
3.1 与OpenGL相关的Win32函数 44
3.1.1 ChoosePixelFormat函数 44
3.1.2 DescribePixelFormat函数 46
3.1.3 GetPixelFormat函数 47
3.1.4 GetEnhMetaFilePixelFormat函数 48
3.1.5 SetPixelFormat函数 48
3.1.6 SwapBuffers函数 49
3.2 与OpenGL相关的wgl函数 50
3.2.1 wglCreateContext函数 50
3.2.2 wglCreateLayerContext函数 50
3.2.3 wglcopyContext函数 51
3.2.4 wglDeleteContext函数 52
3.2.5 wglDescribeLayerPlane函数 52
3.2.6 wglGetcurrentContext函数 52
3.2.7 wglGetCurrentDC函数 53
3.2.8 wglGetLayerPaletteEntries函数 53
3.2.9 wglGetProcAddress函数 53
3.2.10 wglMakeCurrent函数 54
3.2.11 wglRealizeLayerPalette函数 54
3.2.12 wglSetLayerPaletteEntries函数 55
3.2.13 wglShareLists函数 55
3.2.14 wglSwapLayerBuffers函数 56
3.2.15 wglUseFontBitmaps函数 56
3.2.16 wglUseFontOutlines函数 58
3.3 与OpenGL相关的结构 59
3.3.1 GL YPHMETRICSFLOAT结构 59
3.3.2 LAYERPLANEDESCRIPTOR结构 60
3.3.3 PIXELFORMATDESCRIPTOR结构 62
3.3.4 POINTFLOAT结构 64
第4章 OpenGL与Visual C++ 6.0事件编程 66
4.1 简单编程思路 66
4.1.1 程序功能简介 66
4.1.2 简要实现步骤 66
4.2 实例过程 67
4.2.1 建立一个单文档 67
4.2.2 用资源编辑器制作一个命令操作对话框 67
4.2.3 为命令操作对话框建立一个视图类 67
4.2.4 在CMainFrame中创建一个CSplitterWnd类 68
4.2.5 编写命令操作对话框的事件处理程序 69
第5章 基本几何图元的定义 84
5.1 绘制初始化命令 84
5.2 基本图元的绘制 85
5.2.1 点、线与多边形的简单定义 85
5.2.2 特殊多边形的绘制方法 87
5.2.3 点、线与多边形属性的设置 88
5.2.4 法向量的计算方法 89
5.2.5 利用简单几何图元构造较复杂形体 90
5.3 基本图元绘制实例程序 93
第6章 坐标变换 109
6.1 坐标变换的基本概念 109
6.2 通用变换命令 112
6.3 视图和造型变换 113
6.3.1 变换的顺序 113
6.3.2 造型变换 114
6.3.3 视图变换 117
6.4 投影变换 119
6.4.1 透视投影 119
6.4.2 正交投影 121
6.5 视口变换 122
6.5.1 定义视口 122
6.5.2 变换z坐标 123
6.6 操作矩阵栈 123
6.7 附加裁剪画 125
6.8 利用几种变换综合绘制机器人手臂 127
第7章 OpenGL颜色 140
7.1 色彩视觉 140
7.2 计算机颜色 141
7.2.1 颜色生成原理 141
7.2.2 RGB颜色模型 142
7.3 颜色模式 142
7.3.1 RGBA颜色模式 143
7.3.2 颜色索引模式 143
7.3.3 两种模式的应用场合 143
7.4 指定颜色和明暗处理模型 144
7.4.1 在RGBA模式下指定颜色 144
7.4.2 在颜色索引模式下指定颜色 145
7.5 颜色索引模式下指定颜色实例过程 145
7.5.1 在颜色索引模式下指定颜色 145
7.5.2 包含文件及全局变量 146
7.5.3 绘制圆环 147
7.5.4 设置投影方式 149
7.5.5 初始化OpenGL环境 149
7.5.6 变换后重绘圆环 150
7.5.7 窗口改变大小 150
7.5.8 设置逻辑调色板 151
7.5.9 设置像素格式 153
7.5.10 主窗口事件处理函数 154
7.5.11 主函数 156
7.5.12 程序执行结果 158
第8章 光照高级编程 159
8.1 真实世界与OpenGL中的光照 159
8.1.1 光照分量 160
8.1.2 材质颜色 160
8.1.3 光线与材质的RGB值 161
8.2 简单示例 161
8.3 创建光源 163
8.3.1 颜色 164
8.3.2 位置与衰减 165
8.3.3 聚光灯 165
8.3.4 多光源 166
8.3.5 控制光源位置和方向 167
8.4 选择光照模型 171
8.4.1 全局环境光 171
8.4.2 局部和无穷远视点 171
8.4.3 双面光照 172
8.4.4 启用光照 172
8.5 定义材质特性 172
8.5.1 漫射和环境反射 173
8.5.2 镜面反射 174
8.5.3 发射光 174
8.5.4 改变材质特性 174
8.6 光照中的数学 179
8.6.1 材质发射光 179
8.6.2 放缩的全局环境光 179
8.6.3 光源的贡献 179
8.6.4 合成 181
8.7 颜色索引模式中的光照 181
8.8 发光小球碰撞实验 182
第9章 读取三维图形数据 194
9.1 三维图形数据文件格式简介 194
9.1.1 Wavefront模型简介 194
9.1.2 3DS文件格式 196
9.1.3 各种3D数据模型相互转换 203
9.2 在OpenGL中读取和操作3DS模型文件 203
第10章 位图、字体和图像编程 236
10.1 位图和字体 236
10.1.1 OpenGL对字符显示的支持 236
10.1.2 当前光栅位置 238
10.1.3 绘制位图 238
10.1.4 字体和显示列表 239
10.1.5 定义和使用一个完整的字体 240
10.2 OpenGL中生成图像的打印 247
10.2.1 OpenGL中图像的绘制 247
10.2.2 OpenGL中生成图像打印的基本步骤 251
10.2.3 实例过程 251
10.2.4 程序执行结果 260
第11章 纹理映射高级编程 261
11.1 定义纹理 261
11.2 控制纹理滤波 262
11.2.1 滤波 262
11.2.2 重复与缩限 263
11.2.3 映射方式 263
11.2.4 纹理坐标定义 263
11.2.5 自动产生纹理坐标 263
11.3 用位图文件创建纹理 270
11.3.1 调用函数来创建纹理 270
11.3.2 从文件中直接读写 272
第12章 各种特殊效果的实现 273
12.1 融合 273
12.1.1 源和目的因子 274
12.1.2 颜色融合的应用 275
12.1.3 一个颜色融合的例子 275
12.1.4 利用深度缓存的三维融合 277
12.2 反走样 283
12.2.1 反走样点或线 285
12.2.2 反走样多边形 289
12.3 雾化 292
12.3.1 雾的用法 292
12.3.2 雾方程 295
第13章 帧缓存技术与OpenGL动画 299
13.1 缓存及其使用 299
13.1.1 OpenGL中的各种缓存 300
13.1.2 清除缓存 301
13.1.3 选择绘图的颜色缓存 302
13.1.4 屏蔽缓存 303
13.2 检验和操作片断值 303
13.2.1 剪裁检验 304
13.2.2 a检验 304
13.2.3 模板检验 305
13.2.4 深度检验 320
13.2.5 融合、抖动和逻辑操作 321
13.3 累积缓存 322
第14章 巧用显示列表 324
14.1 显示列表的基本概念 324
14.2 显示列表的建立、执行和管理 327
14.2.1 显示列表的建立 327
14.2.2 显示列表中的存储内容 329
14.2.3 执行显示列表 330
14.2.4 显示列表的层次 332
14.2.5 管理显示列表及其索引 333
14.3 改变封装方式的显示列表 338
第15章 参数曲面和曲线编程 340
第16章 选择与反馈实现图形交互 350
16.1 选择模式 350
16.1.1 选择的基本步骤 351
16.1.2 建立名字栈 352
16.1.3 命中记录 352
16.1.4 选择的例子 353
16.1.5 拾取 353
16.1.6 利用选择编程的提示 354
16.2 反馈模式 355
16.2.1 反馈数组 356
16.2.2 在反馈模式下利用标记 357
16.2.3 反馈的例子 357
16.2.4 命中记录 359
16.3 一个选择的例子 359
16.4 拾取 363
16.4.1 简单示例 363
16.4.2 从多个名称和一个层次结构中进行拾取 367
第17章 用OpenGL编写屏幕保护程序 373
17.1 Windows环境下的屏幕保护程序 373
17.1.1 设置屏幕保护程序 373
17.1.2 安装屏幕保护程序 375
17.2 屏幕保护程序编写的基本步骤 376
17.2.1 屏幕保护响应程序 376
17.2.2 屏幕保护设置程序 382
17.2.3 图形绘制程序 382
17.3 屏幕保护程序实例 384
17.3.1 屏幕保护程序主程序 384
17.3.2 图形绘制程序 386
第18章 建筑物虚拟漫游编程 394
18.1 虚拟现实系统简介 394
18.1.1 虚拟现实技术的产生、基本特征及构成 394
18.1.2 多维信息空间 395
18.1.3 实现虚拟现实的软硬件平台 396
18.1.4 虚拟环境人机交互系统 397
18.2 虚拟漫游技术简介 398
18.2.1 虚拟漫游系统示例 398
18.2.2 建筑物虚拟漫游 399
18.3 虚拟建筑物漫游编程实例 400
18.3.1 辐射度方法简介 400
18.3.2 数据存储结构 400
18.3.3 读取辐射度数据 402
18.3.4 纹理映射相关程序 404
18.3.5 绘制程序 407
18.3.6 漫游动作控制 409
第19章 OpenGL新版本的新增功能 412
19.1 新增纹理处理功能 412
19.1.1 新增纹理格式 412
19.1.2 使用纹理环境的新方法 413
19.1.3 纹理代理机制 415
19.1.4 使用纹理物体 418
19.1.5 使用子纹理 421
19.1.6 从帧缓存中装入纹理 422
19.1.7 其他新的纹理扩展函数 423
19.2 多边形偏移功能 424
19.2.1 使用多边形偏移功能 424
19.2.2 多边形偏移编程示例 425
19.3 OpenGL新版本顶点数组 428
19.3.1 指定顶点数组 428
19.3.2 变换独立的数组单元 430
19.3.3 连接不同数组的数组单元 430
19.3.4 通过建立顶点网格绘制实体 431
19.3.5 使用隔行数组 431
19.3.6 顶点数组扩展功能 432
第20章 OpenGL扩展功能及程序改进 434
20.1 Win32环境下OpenGL扩展集 434
20.1.1 确定扩展集可用 434
20.1.2 编译顶点数组扩展集 437
20.1.3 物体空间顶点拾取扩展集 438
20.1.4 调色板纹理扩展集 439
20.1.5 BGRA扩展集 440
20.1.6 索引纹理扩展集 441
20.1.7 索引材质扩展集 442
20.1.8 索引功能扩展集 442
20.1.9 索引数组格式扩展集 443
20.2 OpenGL程序性能的改进 444
20.2.1 改进程序流程 444
20.2.2 改进几何体子系统 446
20.2.3 改进栅格化子系统 449
20.2.4 提高图像和像素绘制性能 451
20.2.5 改进动画性能 453
20.2.6 进行时间测定 454
20.2.7 SGI OpenGL for Windows库使用技巧 455