书籍详情

OpenGL程序设计

OpenGL程序设计

作者:乔林,费广正编著

出版社:清华大学出版社

出版时间:2000-04-01

ISBN:9787900625151

定价:¥54.00

购买这本书可以去
内容简介
  本书特色:·用精练、准确的语言带您进入OpenGL编程的神秘世界。·以精美、实用的例子使您步步深入0penGL编程的宏伟殿堂。·帮初学者从入门到精通,助熟练者百尺竿头、更进一步。OpenGL是目前应用最为广泛的开放式图形编程标准,用户可以利用它编写出高质量的图形绘制程序。本书从编写OpenGL程序的基础知识和基本概念出发,讲解了如何在Win32环境下正确设置环境以进行OpenGL程序设计;然后介绍了OpenGL的基本内容,如何在程序中读取三维图形数据,以及OpenGL的高级编程方法,并编写了一个屏幕保护程序和一个虚拟建筑物漫游程序。最后,重点介绍了Windows环境下对OpenGL功能的扩展及程序改进。本书示例丰富、实用,语言通俗易懂,介绍全面,无论对大专院校的大学生、研究生,还是对科研院所的研究人员,都是一本三维图形技术难得的指导和参考书。此外,本书亦可作为从事计算机图形工作一般人员的三维图形技术引导,也非常适合作为OpenGL三维图形编程的培训教程。
作者简介
暂缺《OpenGL程序设计》作者简介
目录
第1章 OpenGL编程基础知识                  
 1.1 图形学的基本发展状况                  
 1.1.1 蓬勃发展的计算机图形学                  
 1.1.2 计算机图形学的广泛应用                  
 1.2 OpenGL概述                  
 1.2.1 OpenGL基本概念                  
 1.2.2 OpenGL命令语法及各种状态的含义                  
 1.3 运用辅助库创建规则几何对象                  
 1.3.1 辅助库简介                  
 1.3.2 辅助库分类                  
 1.3.3 辅助库应用示例                  
 1.4 OpenGL辅助库函数详解                  
 1.4.1 窗口初始化函数                  
 1.4.2 窗口处理和事件处理函数                  
 1.4.3 定义场景绘制循环函数                  
 1.4.4 三维物体绘制函数                  
 1.4.5 颜色索引表装入函数                  
 1.4.6 空闲事件处理函数                  
 1.5 Windows环境下OpenGL编程简介                  
 1.5.1 OpenGL在Windows下的运行机制                  
 1.5.2 Windows下新增OpenGL相关函数                  
 1.5.3 VC环境下基于OpenGL的编程步骤                  
 1.5.4 建立三维实体模型                  
 第2章 Win32环境下OpenGL编程概论                  
 2.1 Windows环境下OpenGL基本程序结构                  
 2.1.1 Windows环境下OpenGL工作机制                  
 2.1.2 OpenGL与Windows的绘图方式                  
 2.1.3 像素格式的结构和参数设置                  
 2.2 Windows环境下OpenGL编程方法                  
 2.2.1 示例源程序                  
 2.2.2 建立GDI窗口                  
 2.2.3 建立用于OpenGL绘制的窗口                  
 2.2.4 用OpenGL绘图                  
 2.2.5 释放设备描述表和绘制描述表                  
 2.3 利用Visual C++6.0的AppWizard编写OpenGL应用程序                  
 2.3.1 创建一个新工程                  
 2.3.2 设置编译环境                  
 2.3.3 加入OpenGL库                  
 第3章 Win32环境下OpenGL相关函数及结构                  
 3.1 与OpenGL相关的Win32函数                  
 3.1.1 ChoosePixelFormat函数                  
 3.1.2 DescribePixelFormat函数                  
 3.1.3 GetPixelFormat函数                  
 3.1.4 GetEnhMetaFilePlxelFormat函数                  
 3.1.5 SetPixelFormat函数                  
 3.1.6 SwapBuffers函数                  
 3.2 与OpenGL相关的wgl函数                  
 3.2.1 wglCreateContext函数                  
 3.2.2 wglCreateLayerContext函数                  
 3.2.3 wglcopyContext函数                  
 3.2.4 wglDeleteContext函数                  
 3.2.5 wglDescribeLayerPlane函数                  
 3.2.6 wglGetcurrentContext函数                  
 3.2.7 wglGetCurrentDC函数                  
 3.2.8 wglGetLayerPaletteEntries函数                  
 3.2.9 wglGetProcAddress函数                  
 3.2.10 wglMakeCurrent函数                  
 3.2.11 wglRealizeLayerPalette函数                  
 3.2.12 wglSetLayerPaletteEntries函数                  
 3.2.13 wglshareLists函数                  
 3.2.14 wglSwapLayerBuffers函数                  
 3.2.15 wglUseFontBitmaps函数                  
 3.2.16 wglUseFontOutlines函数                  
 3.3 与OpenGL相关的结构                  
 3.3.1 GLYPHMETRICSFLOAT结构                  
 3.3.2 LAYERPLANEDESCRIPTOR结构                  
 3.3.3 PIXELFORMATDESCRIPTOR结构                  
 3.3.4 POINTFLOAT结构                  
 第4章 OpenGL与Visual C++6.0事件编程                  
 4.1 简单编程思路                  
 4.1.1 程序功能简介                  
 4.1.2 简要实现步骤                  
 4.2 实例过程                  
 4.2.1 建立一个单文档                  
 4.2.2 用资源编辑器制作一个命令操作对话框                  
 4.2.3 为命令操作对话框建立一个视图类                  
 4.2.4 在CMainFrame中创建一个CSplitterWnd类                  
 4.2.5 编写命令操作对话框的事件处理程序                  
 第5章 基本几何图元的定义                  
 5.1 绘制初始化命令                  
 5.2 基本图元的绘制                  
 5.2.1 点. 线与多边形的简单定义                  
 5.2.2 特殊多边形的绘制方法                  
 5.2.3 点. 线与多边形属性的设置                  
 5.2.4 法向量的计算方法                  
 5.2.5 利用简单几何图元构造较复杂形体                  
 5.3 基本图元绘制实例程序                  
 第6章 坐标变换                  
 6.1 坐标变换的基本概念                  
 6.2 通用变换命令                  
 6.3 视图和造型变换                  
 6.3.1 变换的顺序                  
 6.3.2 造型变换                  
 6.3.3 视图变换                  
 6.4 投影变换                  
 6.4.1 透视投影                  
 6.4.2 正交投影                  
 6.5 视口变换                  
 6.5.1 定义现口                  
 6.5.2 变换Z坐标                  
 6.6 操作矩阵栈                  
 6.7 附加裁剪面                  
 6.8 利用几种变换综合绘制机器人手臂                  
 第7章 OpenGL颜色                  
 7.1 色彩视觉                  
 7.2 计算机颜色                  
 7.2.1 颜色生成原理                  
 7.2.2 RGB颜色模型                  
 7.3 颜色模式                  
 7.3.1 RGBA颜色模式                  
 7.3.2 颜色索引模式                  
 7.3.3 两种模式的应用场合                  
 7.4 指定颜色和明暗处理模型                  
 7.4.1 在RGBA模式下指定颜色                  
 7.4.2 在颜色索引模式下指定颜色                  
 7.5 颜色索引模式下指定颜色实例过程                  
 7.5.1 在颜色索引模式下指定颜色                  
 7.5.2 包含文件及全局变量                  
 7.5.3 绘制圆环                  
 7.5.4 设置投影方式                  
 7.5.5 初始化OpenGL环境                  
 7.5.6 变换后重绘圆环                  
 7.5.7 窗口改变大小                  
 7.5.8 设置逻辑调色板                  
 7.5.9 设置像素格式                  
 7.5.10 主窗口事件处理函数                  
 7.5.11 主函数                  
 7.5.12 程序执行结果                  
 第8章 光照高级编程?                  
 8.1 真实世界与OpenGL中的光照                  
 8.1.1 光照分量                  
 8.1.2 材质颜色                  
 8.1.3 光线与材质的RGB值                  
 8.2 简单示例                  
 8.3 创建光源                  
 8.3.1 颜色                  
 8.3.2 位置与衰减                  
 8.3.3 聚光灯                  
 8.3.4 多光源                  
 8.3.5 控制光源位置和方向                  
 8.4 选择光照模型                  
 8.4.1 全局环境光                  
 8.4.2 局部和无穷远视点                  
 8.4.3 双面光照                  
 8.4.4 启用光照                  
 8.5 定义材质特性                  
 8.5.1 漫射和环境反射                  
 8.5.2 镜面反射                  
 8.5.3 发射光                  
 8.5.4 改变材质特性                  
 8.6 光照中的数学                  
 8.6.1 材质发射光                  
 8.6.2 放缩的全局环境光                  
 8.6.3 光源的贡献                  
 8.6.4 合成                  
 8.7 颜色索引模式中的光照                  
 8.8 发光小球碰撞实验                  
 第9章 读取三维图形数据                  
 9.1 三维图形数据文件格式简介                  
 9.1.1 Wavefront模型简介                  
 9.1.2 3DS文件格式                  
 9.1.3 各种3D数据模型相互转换                  
 9.2 在OpenGL中读取和操作3DS模型文件                  
 第10章 位图. 字体和图像编程                  
 10.1 位图和字体                  
 10.1.1 OpenGL对字符显示的支持                  
 10.1.2 当前光栅位置                  
 10.1.3 绘制位图                  
 10.1.4 字体和显示列表                  
 10.1.5 定义和使用一个完整的字体                  
 10.2 OpenGL中生成图像的打印                  
 10.2.1 OpenGL中图像的绘制                  
 10.2.2 OpenGL中生成图像打印的基本步骤                  
 10.2.3 实例过程                  
 10.2.4 程序执行结果                  
 第11章 纹理映射高级编程                  
 11.1 定义纹理                  
 11.2 控制纹理滤波                  
 11.2.1 滤波                  
 11.2.2 重复与缩限                  
 11.2.3 映射方式                  
 11.2.4 纹理坐标定义                  
 11.2.5 自动产生纹理坐标                  
 11.3 用位图文件创建纹理                  
 11.3.1 调用函数来创建纹理                  
 11.3.2 从文件中直接读写                  
 第12章 各种特殊效果的实现                  
 12.1 融合                  
 12.1.1 源和目的因于                  
 12.1.2 颜色融合的应用                  
 12.1.3 一个颜色融合的例子                  
 12.1.4 利用深度缓存的三维融合                  
 12.2 反走样                  
 12.2.1 反走样点或线                  
 12.2.2 反走样多边形                  
 12.3 雾化                  
 12.3.1 雾的用法                  
 12.3.2 雾方程                  
 第13章 帧缓存技术与OpenGL动画                  
 13.1 缓存及其使用                  
 13.1.1 OpenGL中的各种级存                  
 13.1.2 清除缓存                  
 13.1.3 选择绘图的颜色缓存                  
 13.1.4 屏蔽缓存                  
 13.2 检验和操作片断值                  
 13.2.1 剪裁检验                  
 13.2.2 a检验                  
 13.2.3 模板检验                  
 13.2.4 深度检验                  
 13.2.5 融合. 抖动和逻辑操作                  
 13.3 累积缓存                  
 第14章 巧用显示列表                  
 14.1 显示列表的基本概念                  
 14.2 显示列表的建立. 执行和管理                  
 14.2.1 显示列表的建立                  
 14.2.2 显示列表中的存储内容                  
 14.2.3 执行显示列表                  
 14.2.4 显示列表的层次                  
 14.2.5 管理显示列表及其索引                  
 14.3 改变封装方式的显示列表                  
 第15章 参数曲面和曲线编程                  
 第16章 选择与反馈实现图形交互                  
 16.1 选择模式                  
 16.1.1 选择的基本步骤                  
 16.1.2 建立名字栈                  
 16.1.3 命中记录                  
 16.1.4 选择的例子                  
 16.1.5 拾取                  
 16.1.6 利用选择编程的提示                  
 16.2 反馈模式                  
 16.2.1 反馈数组                  
 16.2.2 在反馈模式下利用标记?                  
 16.2.3 反馈的例子                  
 16.2.4 命中记录                  
 16.3 一个选择的例子                  
 16.4 拾取                  
 16.4.1 简单示例                  
 16.4.2 从多个名称和一个层次结构中进行拾取                  
 第17章 用OpenGL编写屏幕保护程序                  
 17.1 Windows环境下的屏幕保护程序                  
 17.1.1 设置屏幕保护程序                  
 17.1.2 安装屏幕保护程序                  
 17.2 屏幕保护程序编写的基本步骤                  
 17.2.1 屏幕保护响应程序                  
 17.2.2 屏幕保护设置程序                  
 17.2.3 图形绘制程序                  
 17.3 屏幕保护程序实例                  
 17.3.1 屏幕保护程序主程序                  
 17.3.2 图形绘制程序                  
 第18章 建筑物虚拟漫游编程                  
 18.1 虚拟现实系统简介                  
 18.1.1 虚拟现实技术的产生. 基本特征及构成                  
 18.1.2 多维信息空间                  
 18.1.3 实现虚拟现实的软硬件平台                  
 18.1.4 虚拟环境人机交互系统                  
 18.2 虚拟漫游技术简介                  
 18.2.1 虚拟漫游系统示例                  
 18.2.2 建筑物虚拟漫游                  
 18.3 虚拟建筑物漫游编程实例                  
 18.3.1 辐射度方法简介                  
 18.3.2 数据存储结构                  
 18.3.3 读取辐射度数据                  
 18.3.4 纹理映射相关程序                  
 18.3.5 绘制程序                  
 18.3.6 漫游动作控制                  
 第19章 OpenGL新版本的新增功能                  
 19.1 新增纹理处理功能                  
 19.1.1 新增纹理格式                  
 19.1.2 使用纹理环境的新方法                  
 19.1.3 纹理代理机制                  
 19.1.4 使用纹理物体                  
 19.1.5 使用子纹理                  
 19.1.6 从帧缓存中装入纹理                  
 19.1.7 其他新的纹理扩展函数                  
 19.2 多边形偏移功能                  
 19.2.1 使用多边形偏移功能                  
 19.2.2 多边形偏移编程示例?                  
 19.3 OpenGL新版本顶点数组                  
 19.3.1 指定顶点数组                  
 19.3.2 变换独立的数组单元                  
 19.3.3 连接不同数组的数组单元                  
 19.3.4 通过建立顶点网格绘制实体                  
 19.3.5 使用隔行数组                  
 19.3.6 顶点数组扩展功能                  
 第20章 OpenGL扩展功能及程序改进                  
 20.1 Win32环境下OpenGL扩展集                  
 20.1.1 确定扩展集可用                  
 20.1.2 编译顶点数组扩展集                  
 20.1.3 物体空间顶点拾取扩展集                  
 20.1.4 调色板纹理扩展集                  
 20.1.5 BGRA扩展集                  
 20.1.6 索引纹理扩展集                  
 20.1.7 索引材质扩展集                  
 20.1.8 索引功能扩展集                  
 20.1.9 索引数组格式扩展集                  
 20.2 OpenGL程序性能的改进                  
 20.1.2 改进程序流程                  
 20.2.2 改进几何体子系统                  
 20.2.3 改进栅格化子系统                  
 20.2.4 提高图像和像素绘制性能                  
 20.2.5 改进动画性能                  
 20.2.6 进行时间测定                  
 20.2.7 SGI OpenGL for Windows库使用技巧                   

猜您喜欢

读书导航