OpenGL

人气指数:0 页面更新时间:2016-07-13 20:48
网站介绍

  OpenGL(Open Graphics Library)是个定义了一个跨编程语言、跨平台的程序接口(Application programming interface)的规格,它用于生成二维、三维图像。这个接口由近三百五十个不同的函数调用组成,用来从简单的图形比特绘制复杂的三维景象。而另一种程序接口系统是仅用于Microsoft Windows上的Direct3D。OpenGL常用于CAD、虚拟实境、科学可视化程序和电子游戏开发。OpenGL的高效实现(利用了图形加速硬件)存在于Windows,很多UNIX平台和MacOS。这些实现一般由显示设备厂商提供,而且依赖于该厂商提供的硬件。开放源代码库Mesa是一个纯基于软件的图形API,它的代码兼容于OpenGL。但是,由于许可证的原因,它只声称是一个“相似”的API。

  OpenGL规范由1992年成立的OpenGL架构评审委员会(ARB)维护。ARB由一些特别兴趣于创建一个统一的普遍可用的API的公司组成。根据OpenGL官方网站,2002年6月的ARB投票成员包括3Dlabs、Apple Computer、ATI Technologies、Dell Computer、Evans & Sutherland、Hewlett-Packard、IBM、Intel、Matrox、NVIDIA、SGI和Sun Microsystems,Microsoft曾是创立成员之一,但已于2003年3月退出。独立厂商创建一种新技术时,OpenGL标准允许它们通过“扩展”的方法提供所扩展的功能。然后一个扩展就分成两部分发布:包含扩展函数原型的头文件和作为厂商的设备驱动。每个厂商有一个用于命名它们的新函数和常量的字母缩写。例如,NVIDIA的缩写(“NV”)用于定义它们的专有函数“glCombinerParameterfvNV()”和它们的常量“GL_NORMAL_MAP_NV”。如果多于一个厂商同意实现相同的扩展功能,那么就用缩写“EXT”。进一步,架构评审委员会可能“祝福”这个扩展,那么这就被称为一个“标准扩展”,使用缩写“ARB”。个ARB扩展是GL_ARB_multitexture。根据官方扩展提升路径,多纹理不再是可选实现的ARB扩展,它已经是OpenGL 1.4以后的核心API的一部分。

  OpenGL Performer库——由SGI开发并可以在IRIX、Linux和Microsoft Windows的一些版本上使用,构建于OpenGL,可以创建实时可视化仿真程序。当开发者需要使用的OpenGL扩展时,他们往往需要使用GLEW或者是GLEE库提供的功能,可以在程序的运行期判断当前硬件是否支持相关的扩展,防止程序崩溃甚至造成硬件损坏。为了加强它的多语言和多平台特性,已经用很多语言开发了OpenGL的各种绑定和移植。值得注意的是,Java3D库已经可以利用OpenGL(另一个选择可能是DirectX)作为它的硬件加速了。OpenGL官方网页列出了用于Java、Fortran 90、Perl、Pike、Python、Ada和Visual Basic的多个绑定。OpenGL被设计为只有输出的,所以它只提供渲染功能。核心API没有窗口系统、音频、打印、键盘/鼠标或其他输入设备的概念。虽然这一开始看起来像是一种限制,但它允许进行渲染的代码完全独立于他运行的操作系统,允许跨平台开发。然而,有些集成于原生窗口系统的东西需要允许和宿主系统交互。

  

  

免责声明:
此页是<OpenGL>的介绍页面,并非官方站点,我们收集于网络只为广大网民快速查询提供帮助。
如涉及内容、版权等问题,请在30日内联系,我们将在第一时间删除内容!点此纠错或删除此信息

网站资料
网站名称: OpenGL
网站栏目: 网站简介 网站链接
网站链接: www.opengl.org
收录查询: [百度收录] [360收录] [搜狗收录] [必应收录] [谷歌收录]
网页版本: Mip版 手机版 电脑版
本页链接: https://wang641201.honpu.com/