本书是OpenGL三维图形系统开发与实用技术的基础编程篇,全书系统介绍了OpenGL的体系结构和进行OpenGL图形系统开发所必需的基础知识,如图元绘制、颜色指定、纹理映射、光照处理、双缓存动画和用户交互等。在本书附录部分列出了全部OpenGL库函数,方便读者查阅。
本书深入浅出、内容全面,既可供从事可视化系统、三维游戏、虚拟现实或其他图形应用程序开发的各大专院校学生、教师和研究人员参考,也可作为OpenGL三维图形编程的培训教程和其他相关专业人士和计算机爱好者阅读。
第1章 OpenGL基础知识
1.1 OpenGL概述
1.2 OpenGL图形的实现方式
1.3 OpenGL图形开发库
1.4 基于OpenGL的高层图形库
1.5 OpenGL应用程序框架
第2章 OpenGL建模技术
2.1 基本图元及规则物体绘制
2.2 曲线与曲面绘制
2.3 显示列表
2.4 位图、图像文本绘制
第3章 坐标变换
3.1 坐标变换
3.2 几何变换
3.3 投影变换
3.4 视口变换
3.5 附加裁剪面
3.6 矩阵堆栈
第4章 OpenGL颜色
4.1 计算机中的颜色
4.2 颜色模式与指定概述
4.3 着色模式
第5章 光照与材质处理
5.1 简化光照模型
5.2 创建光源
5.3 复杂光照模型
5.4 材质
第6章 纹理映射技术
6.1 纹理的定义
6.2 纹理数据的获取
6.3 纹理坐标
6.4 纹理的控制
6.5 纹理的映射方式
6.6 多重纹理
第7章 帧缓存技术与动画
7.1 OpenGL中的各种缓存
7.2 缓存操作技术
7.3 测试操作
7.4 双缓存动画
7.5 特殊效果的实现
第8章 OpenGL图形交互技术
8.1 选择
8.2 反馈
附录
附录A OpenGL分类函数速查
附录B OpenGL ARB扩展函数速查
附录C OpenGL GLU库函数速查
附录D OpenGL GLX函数速查
附录E OpenGL AUX库函数速查
附录F OpenGL Win32扩展函数速查
OpenGL(即开放性图形库Open Graphics Library)是近几年发展起来的一个性能卓越的三维图形标准,它源于SGI公司为其图形工作站开发的IRISGL,在跨平台移植过程中发展成为OpenGL。SGI在1992年7月发布1.0版,后来成为工业标准。1995年12月批准了1.1版本,最新版规范是1999年5月通过的1.2.1版。OpenGL作为一个性能优越的图形应用程序设计界面(API),具有广泛的可移植性,它独立于硬件系统、操作系统和窗口系统。OpenGL适用于广泛的计算机环境,从个人计算机到千作站和超级计算机,用户都可以利用OpenGL创建漂亮的三维图形。由于许多在计算机界具有领导地位的计算机公司纷纷采用OpenGL作为三维图形应用程序设计界面,因此,OpenGL是从事三维图形开发工作的技术人员所必须掌握的开发下具。
全书分基础编程篇和实用技术篇两册,主要介绍如何利用OpenGL开发三维图形应用系统。基础编程篇对OpenGL的体系结构和基础知识进行了详细地介绍,实用技术篇着眼于实际的工程应用,介绍了一系列的实用技术。
《OpenGL图形系统开发与实用技术(基础编程篇)》共由8章组成,全面系统地介绍了进行OpenGL编程所需的基础知识,如三维基本图元的绘制、坐标变换、颜色、光照、纹理映射、动画和用户交互技术等。在附录中列出了所有的OpenGL库函数,便于读者在学习过程中查阅。
《OpenGL图形系统开发与实用技术(实用技术篇)》共由10章组成,介绍了一些具体的利用OpenGL进行三维图形系统开发的实用技术,如外部三维模型数据的读入、真实感地形的模拟、自然环境的模拟、碰撞检测、LOD技术和OpenGL图形系统后处理技术等。在最后两章中介绍了两个OpenGL开发的综合实例,一个是三维台球游戏,另一个是俄罗斯方块,读者可以分析其中的代码,提高图形系统的开发能力。
为了便于读者使用,在书后均附有包含该书全部应用实例的源代码光盘。全部程序在Visual C++ 6.0中编译通过,运行环境为Windows 98和Windows 2000。读者可以充分利用其中的代码,有些只需稍许改动便可应用到自己的系统中。
拓智文化CG实验室网站WWW.cglab.info上有关于本书和OpenGL的精彩内容版块,读者可以访问这个网站来探讨交流有关问题!
本书由和平鸽工作室全体成员齐心协力编写完成,是大家精诚团结的结果。感谢对本书的出版给予大力支持的重庆拓智文化发展有限公司和重庆大学出版社,以及其他提供支持的所有老师、朋友。