使用OpenGL来开发模型编辑器.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实用文案 标准文档 1 前言: 在计算机图形图像处理中,由于OpenGL库带来的便利,使得其取得了越来越广泛的应用.本文旨在通过一个小的应用实例,介绍了OpenGL的基本编程思路, 希望这些知识和经验能有助于OpenGL的推广。 2 OpenGL简介: OpenGL(Open Graphics Library)是独立于操作系统和硬件环境的三维图形软件库. 由于其开放性和高度的可重用性,目前已成为业界标准. 很多优秀的软件都是以它为基础开发出来的,象著名的产品有动画制作软件3DMAX ,Soft Image,VR软件和GIS软件等等。 OpenGL认可开发人员对真实世界中的二维图形和三维几何物体的描述,而且将这些几何形体绘制到三维图形加速卡的帧缓存中,可用一个简单的工作流程图来描述OpenGL的工作原理,如图2所示。 图像 像素 像素操作 光栅化 评价器 顶点操作 几何物体 顶点 显示列表 纹理存储器 基本 操作 帧缓 存器 图2 OpenGL工作流程 2.1 OpenGL的主要功能有: 1) 几何建模:在OpenGL中提供了绘制点,线,多边形等基本形体的函数,还提供了绘制复杂三维曲线,曲面(如Bezier,Nurbs等)和三维形体(如球,锥体和多面体等)的函数.由于OpenGL是以顶点为图元,由点构成线,由线及其拓扑结构构成多边形.所以应用这些建模函数,可构造出几乎所有的三维模型。 2) 坐标变换:包括取景变换,模型变换,投影变换和视区变换。 3) 颜色模式设置:RGBA模式和颜色索引模式。 4) 光照和材质设置:可设置四种光,即辐射光,环境光,镜面光和漫反射光.材质用模型表面的反射特性表示。 5) 图像功能:提供像素拷贝和读写操作的函数,还提供了反走样,融合和雾化等,以增强图像效果 6) 纹理映射: OpenGL的纹理映射功能可十分逼真地再现物体表面的细节。 7) 实时动画:利用OpenGL的双缓存(Double Buffer)技术可获得平滑逼真的动画效果。 8) 交互技术:方便的三维图形交互接口(选择,拾取,反馈),可进行人机交互操作。 2.2 Win32下OpenGL的运行机制: 由于OpenGL的作用机制是客户(Client)服务器(Server)机制,由客户(用OpenGL绘制图形的应用程序)向服务器(OpenGL内核)发送OpenGL命令,服务器则负责解释这些命令。在多数情况下,客户和服务器在同一机器上运行,当然,也可以在网络环境下使用,所以OpenGL具有网络透明性,与在Win32下的图形设备接口(GDI)把图形函数库封装在动态的连接库GDI32.DLL内一样,OpenGL的图形库也被封装在一个动态连接库opengl32.dll内。从客户应用程序发布的对OpenGL函数的调用首先被opengl32.dll处理,然后传送给服务器后,被Winsrv.dll进一步处理,再传给Win32设备驱动接口(DDI),最后把处理过的图形命令送给视频显示驱动程序。图2.2显示了整个处理过程。 客户应用程序 OpenGL DLL Win32.DDI 视频驱动程序 OpenGL命令 图2.2 OpenGL在Windows 环境下的运行机制。 2.3 OpenGL函数及结构 下面以Microsoft的Windows95(98)为支撑平台,说明OpenGL函数及结构。 1) OpenGL核心函数 OpenGL核心函数有100多个,每个函数以gl开头。这些函数是最基本的,可运行于任何的工作平台。可用这些函数创建二维和三维几何形体,设置视点,建立视觉体,设置颜色及材质,建立灯光,进行纹理映射等。 2) OpenGL实用库函数 OpenGL实用库函数以glu开头。 这些函数是基于核心函数的,提供对辅助函数特性的支持,并且执行了核心的OpenGL交互,因而是比核心函数更高一层的函数,也更具有通用性。 3) 辅助库函数 辅助库函数有31个,这些函数以aux开头。主要是帮助初学者尽快进入编程而做简单练习之用。 4) Windows专用函数 这些函数以wgl开头,是用于连接OpenGL和Windows窗口系统的。用它们可以管理着色描述表(Render Context)及显示列表(Display List),扩展功能,管理字体位图等。 5) Win32 API函数 共6个函数,用于处理像素格式及缓存。 ChoosePixelFormat DescribePixelFormat …… 6) OpenGL结构 共有4个,列举如下: GLYPHMETRICSFLOAT LAYERPLANEDESCRIPTOR PIXELFORMATDESCRIPTOR POINTFLOAT 3 VC环境下的实现 背景:

文档评论(0)

linlin921 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档