新·第2章 使用OpenGL-2-精.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文档。上传文档
查看更多
使用OpenGL 本章内容: OpenGL从哪里来,到哪里去? 在项目中需要包含什么头文件? 如何在OpenGL中使用GLUT创建窗口并在其中进行绘图? 如何使用RGB(红、绿、蓝)颜色成分来设置颜色? 视口和可视区域如何影响图像的各个维度? 如何使用双缓冲实现简单的动画? OpenGL状态机是如何工作的? 如何检查OpenGL错误? 2.1 什么是OpenGL OpenGL被定义为“图形硬件的一种软件接口”。从本质上说,它是一个3D图形和模型库,具有高度的可移植性,并且具有非常快的速度。 最初,它使用SGI公司(Silicon Graphics,Inc.)仔细开发和优化的算法。SGI是家久负盛名的公司,在计算机图形和动画方面处于业界领先的地位。随着其他厂商不断贡献着它们的经验和智慧,开发它们自己的高性能实现方案,OpenGL也随之得到了不断的发展。 OpenGL并不像C或C++一样是门编程语言,它更像一个C运行时函数库,提供了一些预包装的功能。 不存在像“OpenGL程序”之类的东西,而是开发人员所编写的程序使用了OpenGL作为它的应用程序编程接口( API)之一。 2.1.1标准的演化 OpenGL的前身是SGI的IRIS GL。它最初是个2D图形函数库,后来逐渐演化为由这家公司的高端IRIS图形工作站所使用的3D编程API。这些计算机比普通的计算机更为复杂,它们具有专门经过优化的硬件,用来显示复杂的图形。这种硬件提供了超快的矩阵转换能力(这是3D图形的先决条件)、硬件支持的深度缓冲以及一些其他功能。 OpenGL就是SGI对IRIS GL的移植性进行改进和提高的结果。这个新的图形API不仅具有GL的功能,而且它是一个“开放”的标准。它的输入来自于其他图形硬件厂商,并且更容易应用到其他硬件平台和操作系统。 1. OpenGL ARB SGI认识到真正的开放式标准应该得到一大群厂商的支持,这样程序员才能更容易地创建应用程序,并对标准能够适应范围广泛的平台感到满意。软件能够促进计算机的销售,如果SGI希望销售更多的计算机,那么就需要使自己的计算机上能够运行更多的软件。其他厂商也意识到了这一点,这样OpenGL体系结构审核委员会(ARB,Arcbitecmre Reiview Board)就诞生了。 尽管SGI控制了OpenGL API的许可,但ARB的创立者还包括Digital Equitment Corporation、IBM、Intel和Microsoft。1992年7月1日,OpenGL规范1.0版正式出台。ARB每隔4年开一次会,对规范进行维护和改善,并出台计划对OpenGL标准进行升级。 2. 许可和一致性 OpenGL的实现可以是软件实现,也就是对OpenGL函数调用。OpenGL也可以采用硬件实现,它是完成相同任务的硬件设备(通常是显示卡)的驱动程序。 2.1. 2 API战争 1. 进入DirectX 现在很少有人能够记得“Windows加速器”是什么东西。但是,曾几何时,我们可以购买一种特殊的图形卡,‘它可以对Microsofi Windows所使用的2D图形命令进行加速。尽管图形设备接口(GDI)加速卡对于字处理程序或桌面发布应用程序的用户是件好事,但对于PC游戏程序员而言,它们是远远不够的。早期基于Windows的游戏主要就是些迷宫或卡片游戏,并不需耍高速的动画,那些要求快速动画的 PC游戏,诸如动作视频游戏,仍然都是基于DOS的程序。因为它们可以控制整个屏幕,并且不需要与其他可能同时运行的程序共享系统资源。 Microsoft做了一些努力,帮助游戏开发人员开发Windows本地的游戏。但是,早期以提高访问速度为目标的努力(如WinG API)仍然远远不能满足市场的需要,游戏开发人员继续编写允许他们直接访问图形硬件的DOS程序。当Microsoft开始发布Windows 95时,打算终止DOS时代。最初的Windows 95游戏开发工具包包含了些新的API,这是Microsoft专门为游戏开发人员而开发的。在这些API中,最为重要的就是Direct Draw。 2 . OpenGL 进入PC 大约就在 Microsoft的一个小组专注使Windows 成为一种可行的游戏平台的时候,OpenGL也在PC 赢得了相当的关注,并且受Windows的另一个小组的推动,成为科学和工程应用程序的API选择。Microsoft甚至是OpenGL ARB的创始成员之一。在Windows上支持OpenGL有助于Microsoft与基于UNIX的工作站进行竞争,后者在传统上一直是运行高级的可视化和模拟应用程序的主机。 Ope

文档评论(0)

feng111 + 关注
文档贡献者

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

1亿VIP精品文档

相关文档