网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 OpenGL编程指南(第4版)
分类 计算机-操作系统
作者 OpenGL体系结构审核委员会
出版社 人民邮电出版社
下载
简介
编辑推荐

0penGL是用于绘制高质量的计算机图像,以及编写使用2D和3D几何物体及位图和图像的交互式应用程序。本书介绍0penGL和0penGL实用库,内容全面、权威,被称为"0penGL红宝书"。本书以清晰的语言阐述了0penGL的功能以及众多计算机图形学基本技术,深入探讨了一些高级技术,如纹理映射、反走样、雾效等。

内容推荐

0penGL图形系统是一个软件接口,让程序员能够创建交互式程序,使用 计算机图形学技术生成具有真实感的图像。本书是OpenGL AI也推荐的 OpenGL 1.4版学习指南。  本书首先阐述OpenGL的功能和计算机图形学基本知识,包括状态管理和 几何体的绘制、模型变换、视点变换和投影变换、颜色和光照;然后深入探讨 一些高级技术,包括反走样、混合、雾效、显示列表、图像处理、纹理映射、 帧缓存、网格化、NuRBs、选择和反馈等;同时讨论其他一些重要主题,像 如何提高程序的性能、OpenGL扩展和跨平台技术等。  本书只要求读者有一定的c语言基础和数学知识,适合所有对0penGL 编程感兴趣的读者阅读。

目录

第1章 OpenGL简介…………1

第2章 状态管理和绘制几何体……………………19

第3章 观察…………………65

第4章 颜色…………………106

第5章 光照…………………121

第6章

混合、反走样、雾效和多边形偏移……………………147

第7章 显示列表……………183

第8章

绘制象素、位图、字体和图象…………………………201

第9章 纹理映射……………245

第10章 帧缓存……………307

第11章 网格化和二次曲面……………………………………333

第12章

求值程序和NURBS………………………………………354第13章

选择和反馈…………377

第14章 OpenGL高级技巧………………………………………399

附录A

操作顺序…………………………………………………421

附录B 状态变量……………425

附录C

OpenGL和窗口系统………………………………………445

附录D OpenGL实用工具包(GLUT)基础……………………461

附录E

计算法线向量……………………………………………467

附录F

齐次坐标和变换矩阵……………………………………471

附录G 编程建议……………477

附录H

OpenGL的不变性…………………………………………481

术语表………………………483

序言

OpenGL图形系统是一个到图形硬件的软件接口(GL表示图形库), 让程序员能够创建交互式程序,生成三维运动物体的彩色图像。使用 0penGL,可以控制计算机图形学技术来生成真实感图形或虚构出现实世界 中没有的图像。本书介绍如何使用OpenGL图形系统来编制程序,以实现 所需的视觉效果。本书内容

本书包括14章。前5章介绍在屏幕上绘制彩色和光照三维物体所需的基 本知识。

第1章“OpenGL简介”概述了openGL的各种功能,介绍了一个简单的 0penGL程序,并阐述了一些阅读后续章节所需的基本编程知识。

第2章“状态管理和绘制几何物体”介绍如何描述要在屏幕绘制的三维 物体。

第3章“观察”描述将三维模型绘制到屏幕上之前需要进行的变换。可 以通过控制这些变换来显示特定的模型视图。

第4章“颜色”讨论如何指定绘制物体时使用的上色和着色方法。

第5章“光照”阐述如何控制物体周围的光照条件以及物体对其的反应 (如何反射和吸收光)。光照是一个重要主题,因为仅当有光照时,物体看起 来才有立体感。

后面几章阐述如何对三维场景进行优化或添加高级特性。请读者在熟练 使用0penGL的基础上,再使用这些特性。在讨论过程中,指出了哪些是高 级主题。

第6章“混合、反走样、雾效和多边形偏移”描述对创建真实感场景而 言必不可少的技术,alpha混合(创建透明物体)、反走样(消除锯齿)、大 气效果(模拟烟雾)和多边形偏移(需要凸现填充多边形的边时,用于提高图像的 美感)。

第7章“显示列表”讨论如何存储一系列的()penGlL函数调用,供以后执行。使用这 种特性,可提高OpenGL程序的性能。

第8章“绘制像素、位图、字体和图像”讨论如何使用诸如位图和图像等的二维数据 集。位图的一种典型用途是用于描述字体中的字符。

第9章“纹理映射”阐述如何将纹理(一维、二维或三维图像)映射到三维物体上。 使用纹理映射,可实现许多不可思议的效果。

第10章“帧缓存”描述OpenGI。实现中的各种缓存以及如何控制它们。可以使用缓 存来实现隐藏面消除、模板测试、屏蔽、运动模糊和景深等效果。

第ll章“网格化和二次曲面”阐述如何使用GLu(OpenGL实用库)的网格化函数 和二次曲面函数。

第12章“求值程序和NURBS”概述用于高效地生成曲线和曲面的高级技术。

第13章“选择和反馈”阐述如何使用OpenGL的选择机制来选择屏幕上的物体;还 介绍了反馈机制,它让您能够收集OpenGL生成的绘图信息,而不是根据这些信息在屏幕 上绘制图像。

第14章“OpenGL高级技巧”描述几种巧妙和意想不到的OpenGL用法。这些技巧 是作者多年使用OpenGL及其前身Silicom Graphics IRIS库的经验结晶。

另外,本书还包括几个对读者可能有所帮助的附录。

附录A“操作顺序”从技术的角度概述了OpenGL执行的操作,按应用程序执行时这 些操作发生的顺序对它们做了简要的描述。

附录B“状态变量”列出了OpenGL存储的状态变量,并描述了如何获取它们 的值。

附录C“OpenG[。和窗口系统”简要地描述了各种窗口系统中用于支持OpenGI。渲染 的函数,讨论了到X窗口系统、Apple Macintosh、IBM OS/2、.Microsoft Windows的窗口 系统接口。

附录D“OpenGL实用工具包(GLUT)基础”讨论了处理窗口系统操作的GLuT库。 GLUT是可移植的,它使得代码更简明、更易于理解。

附录E“计算法线向量”阐述如何计算不同类型几何物体的法线向量。

附录F“齐次坐标和变换矩阵”介绍了一些有关矩阵变换的数学知识。

附录G“编程建议”列出了一些基于OpenGL设计者意图的建议,可能对读者会有 所帮助。

附录H“OpenGL的不变性”描述了在什么情况下OpenGL实现必须生成与ODenGL 规定完全相同的像素值。

最后,术语表定义了本书使用的重要术语。 本版新增的内容

本版基于()penGL1.3和1.4版规范对第三版进行了修订,并新增了一些内容。

· 涵盖了OpenGL1.3版新增的下述核心功能:

——多重采样;

——先行后列的矩阵(row maiormatl·ix);

——增强的纹理映射功能,包括立方图纹理、压缩的纹理图像、新的纹理环境模式

GL_ADD和GL_COMBINE 以及新的环绕模式GL_CLAMPT0一BORDER。

· 涵盖了OpenGL 1.4版新增的下述核心功能:

——混合顶点数组:

——使用窗口坐标而不是全局坐标来指定光栅位置;

——新的混合函数,包括独立的RGB混合函数和alDha混合函数;

——显式地指定顶点的雾坐标;

——控制点图元渲染属性的点参数;

——在执行纹理映射后应用的辅助颜色;

——新的纹理映射特性,如指定用于选择mipmap的明细等级偏移、自动生成mipmap、

纹理环绕模式GL MIRROKED REPEAq’和深度缓存图像; ——允许模板值环回(wrap),而不是将其截取为最大值或最小值的新模板操作。 · 对第三版中关于多重纹理的内容进行了修订,以反映多重纹理已升级为OpenGL

核心功能集这样一个事实。对读者的知识要求

本书只要求读者知道如何使用C语言进行编程,并具备一定的数学知识(几何学、 三角学、线性代数、微积分和微分几何)。即使读者对计算机图形学技术了解不多,仍然 能够理解本书的大部分内容。计算机图形学是一个范围非常广泛的领域,读者可阅读下列 读物以丰富这方面的知识。 ·Computer’Gaphics: PRIMCIPLes and Practice(Addison—Wesley出版社,1 990年):

这是计算机图形学的百科全书,内容丰富,但最好对该领域有一定了解后再读。 ·3D CompuTr Graphics:A User"s GuideforArtists andDesigners(Lyons出版社,

1994年):从非技术的角度概述了计算机图形学,将重点放在可实现的视觉效果,

而非实现这些视觉效果的技巧上。

另一个不错的地方是OpenGL的官方网站,它提供各种概要性信息,涉及软件、文档、 FAQ(常见问题)和新闻等。读者如果有OpenGL方面的问题,应首先到这里寻找答案, 其网址为http://www.opengl.org/。

读者开始使用OpenGL进行编程后,可能需要参考OpenGL体系结构审核委员会编著 的《OpenGL参考手册》。它是本书的姊妹篇,从技术的角度描述了OpenGL如何对描述 几何物体的数据和图像数据进行处理,以便在屏幕上绘制图像;它还全面地介绍了各个相 关的OPenGL函数集:函数的参数、参数的默认值和函数的功能。很多OpenGL实现都以 手册或帮助文档的方式在线提供了这些资料,并且是最新的。互联网上也有各种版本的资 料,详情请访问前面提到的OpenGL官方网站。

ODenGL是一种独立于硬件的编程接口规范,读者在特定硬件上使用特定OpenGL 实现。本书阐述如何使用OpenGL进行编程,其内容适用于任何OpenGL实现。然而, 不同的OpenGL实现在诸如性能和可选特性等方面可能存在细微的差别,读者可能需 要确定自己使用的OpenGL实现是否提供了补充说明文档。另外,读者的系统可能提 供了与OpenGL相关的实用库、工具包、编程和调试工具、窗口小部件、范例程序和 演示程序等。如何获得范例程序代码

本书包含很多范例程序,用于演示如何使用OpenGL编程技巧。这些程序使用了Mark Kilgard开发的OpenGL实用工具包(GLUT)。第1章的“与OpenGL相关的函数库”一 节和附录D更详细地介绍了如何使用GLUT。读者可通过匿名P免费下载范例程序和 GLUT的源代码。

要获得本书中范例程序的源代码,可根据您使用的压缩/解压缩工具,下载下述文件 之一: ftp://ftp.sgi.com/opengl/opengl 14.tar.z ftp://ftp.sgi.com/opengl/opengl 14.tgz ftp://ftp.sgi.com/opengl/opengl 14.zip 然后使用解压缩工具从这些存档文件中提取源代码。 要获得(用于MicrosoftWindows或X窗口系统的)GLUT源代码,请访问下面的网 页,找到最新的GLUT版本,并下载其源代码: http://www.opengl.ore,/developers/documentation/glut/index.html 很多OpenGL实现都提供了范例程序,这些源代码是学习使用OpenGL进行编程的最 佳资料,因为它们针对您的系统进行了优化。要了解是否有这样的范例程序,可阅读 OpenGI。实现提供的文档。Nate Robins的opellGL教学程序

Nate Robins编写了一套教学程序,通过让用户修改函数的参数并观看修改效果,阐 述基本的OpenGI。编程概念;涉及的主题包括变换、光照、雾效和纹理映射。强烈推荐读 者使用这些教学程序,它们是可移植的,并使用了前面提到的GLuT。要获得这些教学程 序的源代码,可从下述网站下载: http://www.xmission.com/,、一nate/opengl.:html约定

本书中使用了下述约定:

· 函数名和矩阵使用粗体表示:

· 变量和参数名、空间维、矩阵中的分量和首次出现的术语使用斜缮表示;

· 枚举类型和常量使用常规体表示。

程序代码使用等宽字体表示,以便将其与正文区分开来;函数总结带灰色阴影。  在函数总结中,用花括号括起的内容表示可供选择的数据类型。在下面的例子,函数 glCommand有4种可能的后缀:s、i、f和d,它们分别表示数据类型GLshort、GLint、 GLfloat和GLdouble。在函数glCommand的原型中,TYPE是一个通配符,表示后缀指 定的数据类型。

随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/2/23 1:09:54