图书介绍

OpenGL程序设计PDF|Epub|txt|kindle电子书版本网盘下载

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

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用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

热门推荐