图书介绍

OpenGL程序设计pdf电子书版本下载

OpenGL程序设计
  • 乔林,费广正等编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7900625151
  • 出版时间:2000
  • 标注页数:456页
  • 文件大小:23MB
  • 文件页数:471页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
下载压缩包 [复制下载地址] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页

下载说明

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

精品推荐