hyde
路人甲
路人甲
  • 注册日期2003-09-24
  • 发帖数555
  • QQ
  • 铜币1457枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:8727回复:6

OpenGL系列讲座(1)

楼主#
更多 发布于:2004-03-20 10:19
OpenGL三维图形编程指南目录
内容提要

第一部分  引导篇

    第一章  OpenGL与三维图形世界

       1.1     OpenGL使人们进入三维图形世界

       1.2     OpenGL提供直观的三维图形开发环境

       1.3     OpenGL称为目前三维图形开发标准

    第二章  OpenGL概念建立

       2.1     OpenGL基本理解

       2.2     OpenGL工作流程

       2.3     OpenGL图形操作步骤

    第三章  Windows NT环境下的OpenGL

       3.1     Windows NT下的OpenGL函数

       3.2     OpenGL基本功能

       3.3     Windows NT下OpenGL结构

 

第二部分  基础篇

    第一章  OpenGL基本程序结构

    第二章  OpenGL数据类型和函数名

第三章       OpenGL辅助库的基本使用

3.1    辅助库函数分类

3.2    辅助库应用示例

    第四章  OpenGL建模

       4.1     描述图元

         4.1.1   齐次坐标

         4.1.2   点

         4.1.3   线

         4.1.4   多边形

       4.2     绘制图元

         4.2.1   定义顶点

         4.2.2   构造几何图元

    第五章  OpenGL变换

       5.1     从三维空间到二维平面

         5.1.1   相机模拟

         5.1.2   三维图形显示流程

         5.1.3   基本变换简单分析

       5.2     几何变换

         5.2.1   两个矩阵函数解释

         5.2.2   平移

         5.2.3   旋转

         5.2.4   缩放和反射

         5.2.5   几何变换举例

       5.3     投影变换

         5.3.1   正射投影

         5.3.2   透视投影

       5.4     裁剪变换

       5.5     视口变换

       5.6     堆栈操作

    第六章  OpenGL颜色

       6.1     计算机颜色

         6.1.1   颜色生成原理

         6.1.2   RGB色立体

       6.2     颜色模式

         6.2.1   RGBA模式

         6.2.2   颜色表模式

         6.2.3   两种模式应用场合

       6.3     颜色应用举例

    第七章  OpenGL光照

       7.1     真实感图形基本概念

       7.2     光照模型

         7.2.1   简单光照模型

         7.2.2   OpenGL光组成

         7.2.3   创建光源

         7.2.4   启动光照

       7.3     明暗处理

       7.4     材质

         7.4.1   材质颜色

         7.4.2   材质定义

         7.4.3   材质RGB值和光源RGB值的关系

         7.4.4   材质改变

 

第三部分  提高篇

    第一章  OpenGL位图和图像

       1.1     位图

         1.1.1   位图和字符

         1.1.2   当前光栅位置

         1.1.3   位图显示

       1.2     图像

         1.2.1   象素读写

         1.2.2   象素拷贝

         1.2.3   图像缩放

         1.2.4   图像例程

    第二章  OpenGL纹理

       2.1     基本步骤

       2.2     纹理定义

       2.3     纹理控制

         2.3.1   滤波

         2.3.2   重复与约简

       2.4    映射方式

       2.5    纹理坐标

         2.5.1   坐标定义

         2.5.2   坐标自动产生

    第三章  OpenGL复杂物体建模

       3.1    图元扩展

         3.1.1   点和线

         3.1.2   多边形

       3.2    法向计算

         3.2.1   法向基本计算方法

         3.2.2   法向定义

       3.3    曲线生成

         3.3.1   曲线绘制举例

         3.3.2   曲线定义和启动

         3.3.3   曲线坐标计算

         3.3.4   定义均匀间隔曲线坐标值

       3.4    曲面构造

         3.4.1   曲面定义和坐标计算

         3.4.2   定义均匀间隔的曲面坐标值

         3.4.3   纹理曲面

         3.4.4   NURBS 曲面

    第四章  OpenGL特殊光处理

       4.1    光照模型

         4.1.1   全局环境光

         4.1.2   近视点与无穷远视点

         4.1.3   双面光照

       4.2   光源位置与衰减

       4.3   聚光与多光源

         4.3.1   聚光

         4.3.2   多光源与例程

       4.4   光源位置与方向的控制

       4.5   辐射光

    第五章  OpenGL效果处理

       5.1   融合

         5.1.1   Alpha值与融合

         5.1.2   融合因子

         5.1.3   融合实例

       5.2   反走样

         5.2.1   行为控制函数

         5.2.2   点和线的反走样

         5.2.3   多边形的反走样

       5.3   雾

         5.3.1   雾的概论和例程

         5.3.2   雾化步骤

    第六章  OpenGL显示列表

       6.1   显示列表概论

         6.1.1   显示列表的优势

         6.1.2   显示列表的适用场合

       6.2   创建和执行显示列表

         6.2.1   创建显示列表

         6.2.2   执行显示列表

       6.3   管理显示列表

       6.4   多级显示列表

    第七章  OpenGL帧缓存和动画

       7.1   帧缓存

         7.1.1   帧缓存组成

         7.1.2   缓存清除

       7.2   动画

 

第四部分 辅助篇

第一章       在微机环境下OpenGL编程使用方法

1.1  系统配置

1.2  OpenGL库安装

1.3 示例程序编译连接

第二章       计算机图形学词汇解释

2.1  概要词汇

2.2  常用词汇

 

第一部分 引导篇
 

第一章 OpenGL与三维图形世界
 

1.1 OpenGL使人们进入三维图形世界
 

我们生活在一个充满三维物体的三维世界中,为了使计算机能精确地再现这些物体,我

们必须能在三维空间描绘这些物体。我们又生活在一个充满信息的世界中,能否尽快地理解

并运用这些信息将直接影响事业的成败,所以我们需要用一种最直接的形式来表示这些信息。

最近几年计算机图形学的发展使得三维表现技术得以形成,这些三维表现技术使我们能够再

现三维世界中的物体,能够用三维形体来表示复杂的信息,这种技术就是可视化

( Visualization ) 技术。可视化技术使人能够在三维图形世界中直接对具有形体的信息进

行操作,和计算机直接交流。这种技术已经把人和机器的力量以一种直觉而自然的方式加以

统一,这种革命性的变化无疑将极大地提高人们的工作效率。可视化技术赋予人们一种仿真

的、三维的并且具有实时交互的能力,这样人们可以在三维图形世界中用以前不可想象的手

段来获取信息或发挥自己创造性的思维。机械工程师可以从二维平面图中得以解放直接进入

三维世界,从而很快得到自己设计的三维机械零件模型。医生可以从病人的三维扫描图象分

析病人的病灶。军事指挥员可以面对用三维图形技术生成的战场地形,指挥具有真实感的三

维飞机、军舰、坦克向目标开进并分析战斗方案的效果。

更令人惊奇的是目前正在发展的虚拟现实技术,它能使人们进入一个三维的、多媒体的

虚拟世界,人们可以游历远古时代的城堡,也可以遨游浩翰的太空。所有这些都依赖于计算机

图形学、计算机可视化技术的发展。人们对计算机可视化技术的研究已经历了一个很长的历

程,而且形成了许多可视化工具,其中SGI公司推出的GL三维图形库表现突出,易于使用而

且功能强大。利用GL开发出来的三维应用软件颇受许多专业技术人员的喜爱,这些三维应用

软件已涉及建筑、产品设计、医学、地球科学、流体力学等领域。随着计算机技术的继续发

展,GL已经进一步发展成为OpenGL,OpenGL已被认为是高性能图形和交互式视景处理的标准,

目前包括ATT公司UNIX软件实验室、IBM公司、DEC公司、SUN公司、HP公司、Microsoft

公司和SGI公司在内的几家在计算机市场占领导地位的大公司都采用了OpenGL图形标准。值

得一提的是,由于Microsoft公司在Windows NT中提供OpenGL图形标准,OpenGL将在微机

中广泛应用,尤其是OpenGL三维图形加速卡和微机图形工作站的推出,人们可以在微机上实

现三维图形应用,如CAD设计、仿真模拟、三维游戏等,从而更有机会、更方便地使用OpenGL

及其应用软件来建立自己的三维图形世界。

 

1.2  OpenGL提供直观的三维图形开发环境
 

  OpenGL实际上是一种图形与硬件的接口。它包括了120个图形函数,开发者可以用这些函

数来建立三维模型和进行三维实时交互。与其他图形程序设计接口不同,OpenGL提供了十分

清晰明了的图形函数,因此初学的程序设计员也能利用OpenGL的图形处理能力和1670万种

色彩的调色板很快地设计出三维图形以及三维交互软件。

OpenGL强有力的图形函数不要求开发者把三维物体模型的数据写成固定的数据格式,这

样开发者不但可以直接使用自己的数据,而且可以利用其他不同格式的数据源。这种灵活性极

大地节省了开发者的时间,提高了软件开发效益。

长期以来,从事三维图形开发的技术人员都不得不在自己的程序中编写矩阵变换、外部

设备访问等函数,这样为调制这些与自己的软件开发目标关系并不十分密切的函数费脑筋,

而OpenGL正是提供一种直观的编程环境,它提供的一系列函数大大地简化了三维图形程序。

例如:

       . OpenGL提供一系列的三维图形单元供开发者调用

       . OpenGL提供一系列的图形变换函数

       . OpenGL提供一系列的外部设备访问函数,使开发者可以方便地访问鼠标、键盘、

空间球、数据手套等这种直观的三维图形开发环境体现了OpenGL的技术优势,这也是许多三

维图形开发者热衷于OpenGL的缘由所在。

 

1.3 OpenGL成为目前三维图形开发标准
 

在计算机发展初期,人们就开始从事计算机图形的开发。直到计算机硬软件和计算机图

形学高度发达的九十年代,人们发现复杂的数据以视觉的形式表现时是最易理解的,因而三

维图形得以迅猛发展,于是各种三维图形工具软件包相继推出,如PHIGS、PEX、RenderMan

等。这些三维图形工具软件包有些侧重于使用方便,有些侧重于渲染效果或与应用软件的连

接,但没有一种三维工具软件包在交互式三维图形建模能力、外部设备管理以及编程方便程

度上能够OpenGL相比拟。OpenGL经过对GL的进一步发展,实现二维和三维的高级图形技术,

在性能上表现得异常优越,它包括建模、变换、光线处理、色彩处理、动画以及更先进的能

力,如纹理影射、物体运动模糊等。OpenGL的这些能力为实现逼真的三维渲染效果、建立交

互的三维景观提供了优秀的软件工具。OpenGL在硬件、窗口、操作系统方面是相互独立的。

许多计算机公司已经把OpenGL集成到各种窗口和操作系统中,其中操作系统包括UNIX、

Windows NT、DOS等,窗口系统有X窗口、Windows等。为了实现一个完整功能的图形处理系

统,设计一个与OpenGL相关的系统结构为:其最底层是图形硬件,第二层为操作系统,第三

层为窗口系统,第四层为OpenGL,第五层为应用软件。OpenGL是网络透明的,在客户—服务

器(Client-Server)体系结构中,OpenGL允许本地和远程绘图。所以在网络系统中,OpenGL

在X窗口、Windows或其它窗口系统下都可以以一个独立的图形窗口出现。

    OpenGL作为一个性能优越的图形应用程序设计界面(API)而适合于广泛的计算环境,从

个人计算机到工作站和超级计算机,OpenGL都能实现高性能的三维图形功能。由于许多在计

算机界具有领导地位的计算机公司纷纷采用OpenGL作为三维图形应用程序设计界面,OpenGL

应用程序具有广泛的移植性。因此,OpenGL已成为目前的三维图形开发标准,是从事三维图

形开发工作的技术人员所必须掌握的开发工具。

 

喜欢0 评分0
夜落了,风静了,我喜欢一本书,一杯茶,一粒摇曳的烛光...
sunzheng04
路人甲
路人甲
  • 注册日期2008-11-12
  • 发帖数37
  • QQ
  • 铜币250枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2008-11-23 17:43
<img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
举报 回复(0) 喜欢(0)     评分
dgd115
路人甲
路人甲
  • 注册日期2007-10-16
  • 发帖数6
  • QQ
  • 铜币113枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2009-05-08 22:38
<P>能给发个完整的吗?<a href="mailtdgd115@163.com" target="_blank" >dgd115@163.com</A>  谢谢了!!</P>
举报 回复(0) 喜欢(0)     评分
风雪无痕
路人甲
路人甲
  • 注册日期2007-08-15
  • 发帖数21
  • QQ
  • 铜币161枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2009-05-19 21:44
不错
举报 回复(0) 喜欢(0)     评分
keke36
路人甲
路人甲
  • 注册日期2007-07-01
  • 发帖数22
  • QQ
  • 铜币207枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2009-06-02 16:41
<P>就这样 完了啊? 不错 顶一个</P><img src="images/post/smile/dvbbs/em01.gif" />
举报 回复(0) 喜欢(0)     评分
nhc190
路人甲
路人甲
  • 注册日期2006-11-14
  • 发帖数20
  • QQ
  • 铜币239枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2009-11-27 08:24
<P>先谢了,能给兄弟发一份吗?</P>
<P>nhc190@sohu.com</P>
举报 回复(0) 喜欢(0)     评分
wk123456
路人甲
路人甲
  • 注册日期2012-05-08
  • 发帖数7
  • QQ
  • 铜币130枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2012-07-24 11:32
<p>能给发个不??<a href="mailto:wk200890@163.com">wk200890@163.com</a>  谢谢</p>
<p> </p>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部