三维图形编程实践2.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三维图形编程实践2

三维图形编程实践 华东理工大学计算机系 Sept.6, 2007 通用编程软件包:常常是图形库,提供了生成各种图形、实现图形的处理和输入输出操作、控制和处理各种图形设备以及交互过程中的各种事件,如OpenGL。 通用编程软件包:一般由程序员在开发时使用。专用应用图形软件包是具有图形处理能力的交互式图形软件系统,为非程序员提供的而且往往应用于某个或某些领域,如AutoCAD、3DS MAX等。专用应用图形软件包使用范围广,使用人员众多。 OpenGL介绍 OpenGL(Open Graphics Library,即开放性图形库)是以SGI的GL三维图形库为基础制定的一个开放式三维图形标准。 SGI在1992年7月发布了1.0版,目前版本是2.0版。 OpenGL规范由ARB(OpenGL Architecture Review Board,OpenGL结构评审委员会)负责管理 目前加入OpenGL ARB的成员有SGI、Microsoft、Intel、IBM、SUN、Compaq、HP等公司,它们均采用了OpenGL图形标准,许多软件厂商以OpenGL为基础开发自己的产品,硬件厂商提供对OpenGL的支持。 由于OpenGL的广泛应用,它已经成为一个工业标准。 OpenGL支持的操作系统 Windows95/98、Windows NT/2000、Linux、Mac OS、Unix、OS/2等 OpenGL支持的语言 C、C++、Fortran、Ada、Java等 VC对OpenGL的支持尤佳 OpenGL的API结构 图(a)是Win32平台上OpenGL API的结构简图;图(b)是UNIX平台上OpenGL API的结构简图。 其中“OpenGL”表示OpenGL基本API,这类API的主要功能包括形体描述、平移、旋转、缩放、光照、纹理、 材质、像素、位图和文字处理等。 OpenGL工作结构 OpenGL的API结构 客户/服务器模式 图3.1 OpenGL在Windows环境中的工作过程 功能 绘制模型 提供了绘制点、线、多边形、球、锥、多面体、茶壶等复杂的三维物体以及贝塞尔、NURBS等复杂曲线或曲面的绘制函数。 各种变换 提供了平移、旋转、变比和镜像四种基本变换以及平行投影和透视投影两种投影变换。通过变换实现三维的物体在二维的显示设备上显示。 着色模式 提供了RGBA模式和颜色索引两种颜色的显示方式。 光照处理 提供了辐射光(Emitted Light)、环境光(Ambient Light)、漫反射光(Diffuse Light)和镜面光(Specular Light)。 材质是指物体表面对光的反射特性,在OpenGL中用光的反射率来表示材质。 纹理映射 将真实感的纹理粘贴在物体表面,使物体逼真生动。纹理是数据的简单矩阵排列,数据有颜色数据、亮度数据和alpha数据 位图和图像 提供了一系列函数来实现位图和图像的操作。位图和图像数据均采用像素的矩阵形式表示。 制作动画 提供了双缓存(Double Buffering)技术来实现动画绘制。 选择和反馈 特殊效果 OpenGL的工作流程 OpenGL的工作顺序就是一个从定义几何要素到把像素段写入帧缓冲区的过程。 图元操作 图元由一组顶点定义; 顶点由位置坐标、颜色值、法向量、纹理坐标组成; 坐标分二维和三维; 法向量是一个三维向量,用于光照计算; 纹理坐标决定如何把纹理图像映射到图元; 图元对象是根据glBegin()/glEnd()函数对之间所包含的一系列指定顶点的位置、颜色、法向量、纹理坐标画出的。 图形控制 提供诸如几何变换、关照、反走样方法; 像素操作:二维和三维图形的绘制; OpenGL指令解释模型 客户/服务器模式 OpenGL基本操作 图3.2 OpenGL的绘制原理图 OpenGL基本操作 有两类数据: 用户指令:由顶点描述的几何顶点数据和指令; 由像素描述的位图、影像等模型 求值器(评价器(Evaluator)) 提供许多多项式函数,产生顶点坐标、法线坐标、纹理坐标和颜色; 根据多项式函数、输入数据,求出近似的几何图元; 图元操作 转换、光照、剪切; 把图元剪切到观察体中,为下一步光栅化做好准备。 OpenGL基本操作 显示列表(Display List) 用于存储一部分指令,留待合适时间以便于快速处理。 光栅化 产生一系列图像的帧缓存地址和图元的二维描述值 = 基片(Fragment) 几何操作 将图元转化成二维图像; 物理操作 计算图像的每个点的颜色和深度等信息。 OpenGL基本操作 基片

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档