什么是OpenGL

发布时间:2025-12-09 18:05:55 浏览次数:4

什么是OpenGL? (What Is OpenGL?)

OpenGL (Open Graphics Library) is a specification that defines a multi-platform API for writing applications of 3D images (but also 2D). It uses internal representations of projective geometry to avoid any situation involving infinite.

OpenGL(开放图形库)是一个规范,定义了用于编写3D图像(也包括2D)应用程序的多平台API。 它使用射影几何的内部表示来避免任何涉及无限的情况。

The interface includes about 250 different functions that can be used to display complex three-dimensional scenes from simple geometric primitives. Because of its openness, its flexibility and its availability on all platforms, it is used by the majority of scientific, industrial or artistic 3D and 2D vector some applications. This library is also used in the video game industry where it is often in rivalry with the library of Microsoft Direct3D. A version called OpenGL ES has been designed specifically for embedded applications (mobile phones, pocket diary, game consoles, etc.).

该界面包括约250种不同的功能,可用于显示来自简单几何图元的复杂三维场景。 由于它的开放性,灵活性以及在所有平台上的可用性,它被大多数科学,工业或艺术3D和2D向量的某些应用程序使用。 该库还用于视频游戏行业,该行业通常与Microsoft Direct3D库竞争。 名为OpenGL ES的版本专门针对嵌入式应用程序(手机,袖珍日记,游戏机等)而设计。

OpenGL is an evolution of IrisGL, 3D API developed by SGI. The latter is difficult to evolve and expand, it was decided that at SGI OpenGL can be considered a superset of IrisGL. The specifications and basic developments have been made by a team of IMS. Fahrenheit Project, an initiative of Microsoft and IMS, tried to unify the interfaces OpenGL and Direct3D. This brought the hope of beginning to put order into the world of 3D APIs, but for financial constraints on the part of IMS, the project had to be abandoned.

OpenGL是SGI开发的3D API IrisGL的演进。 后者很难发展和扩展,因此决定在SGI上OpenGL可被视为IrisGL的超集。 IMS团队已制定了规范和基本发展。 Fahrenheit Project是Microsoft和IMS的一项举措,试图统一OpenGL和Direct3D的接口。 这带来了开始在3D API领域下订单的希望,但是由于IMS方面的财务限制,该项目不得不放弃。

The OpenGL specification is being supervised by the Architecture Review Board (ARB), formed in 1992. The ARB consists of companies with a deep interest in creating a coherent and widely available API. According to the official site for OpenGL, 3Dlabs, Apple, ATI, Dell, Evans & Sutherland, Hewlett-Packard, IBM, Intel, Matrox, nVidia, SGI and Sun Microsystems are among the voting members (June 2002). Microsoft, one of the founding members, retired in March 2003.

OpenGL规范由建立于1992年的体系结构审查委员会(ARB)进行监督。ARB由对创建一致且广泛可用的API有浓厚兴趣的公司组成。 根据OpenGL的官方网站,3Dlabs,Apple,ATI,Dell,Evans&Sutherland,Hewlett-Packard,IBM,Intel,Matrox,nVidia,SGI和Sun Microsystems都是投票成员(2002年6月)。 微软的创始成员之一于2003年3月退休。

On July 31, 2006 at the Siggraph conference, the ARB has announced its decision to transfer control of the OpenGL specification to Khronos Group, which was already involved in various specifications OpenGL for embedded systems and video game consoles including OpenGL ES. The Architecture Review Board was dissolved Sept. 21, 2006, but for historical reasons, the acronym “ARB” has been preserved.

在2006年7月31日的Siggraph会议上,ARB宣布了将OpenGL规范的控制权转让给Khronos Group的决定,该组织已经参与了适用于嵌入式系统和视频游戏机(包括OpenGL ES)的各种规范OpenGL。 体系结构审查委员会于2006年9月21日解散,但由于历史原因,保留了首字母缩写词“ ARB”。

The official specifications of OpenGL 3.0 were presented August 11, 2008. Originally, OpenGL 3 should be a major change, a complete overhaul of the API to make it more competitive with Direct3D. This particular issue was to abandon the obsolete functionality that was hitherto kept only for compatibility with older versions, using a new object model that encapsulates particular more coherent states, etc. However, after a year late and a total lack of communication from the Khronos Group, the overhaul has been abandoned in favor of an incremental update to simply support the latest graphics technologies.

OpenGL 3.0的正式规范已于2008年8月11日提出。最初,OpenGL 3应该是一个重大更改,对API进行了全面的改进,以使其与Direct3D更具竞争力。 这个特殊的问题是放弃迄今为止仅与旧版本兼容而保留的过时功能,而是使用封装了特定的更一致状态的新对象模型等。但是,在迟了一年之后,Khronos Group完全缺乏沟通,为了进行增量更新以仅支持最新的图形技术,已经放弃了大修。

This decision was due to the desire to reassure some markets, such as CAD, not wishing to see these older features vanish. Nevertheless, the deprecated functions will be marked “deprecated” in the new specifications, and could be removed in future versions.

做出此决定的原因是希望放心某些市场(例如CAD),而不希望看到这些较早的功能消失。 但是,在新的规范中,已弃用的功能将标记为“已弃用”,并且在以后的版本中可能会删除。

OpenGL扩展 (The OpenGL Extensions)

The OpenGL standard allows inpidual manufacturers to add new features as extensions. An extension is distributed in two parts: a header file that contains the functions prototypes of the extension and the drivers from the manufacturer. Each of them has an abbreviation that is used to name their new functions and constants. For example, the abbreviation of nVidia (NV) is used to define function owner “glCombinerParameterfvNV ()” and their constant “GL_NORMAL_MAP_NV. Sometimes more than one manufacturer implements the same functionality. In this case, the abbreviation EXT is used. It may also happen that formalizes the ARB extension. It then becomes a standard and the abbreviation “ARB” is used. The first ARB extension was GL_ARB_multitexture.

OpenGL标准允许各个制造商添加新功能作为扩展。 扩展分为两部分:头文件,其中包含扩展的功能原型和制造商的驱动程序。 它们每个都有一个缩写,用于命名它们的新函数和常量。 例如,nVidia(NV)的缩写用于定义函数所有者“ glCombinerParameterfvNV()”及其常量“ GL_NORMAL_MAP_NV”。 有时不止一个制造商实现相同的功能。 在这种情况下,使用缩写EXT。 也有可能使ARB扩展正式化。 然后成为标准,并使用缩写词“ ARB”。 第一个ARB扩展名是GL_ARB_multitexture。

OpenGL库 (OpenGL Library)

Many libraries are developed using OpenGL to provide features not available in the OpenGL library itself:

许多库都是使用OpenGL开发的,以提供OpenGL库本身不具备的功能:

  • GLU 谷氨酸
  • GLUT UT
  • Gluyas 格鲁亚斯
  • GLEW 格力
  • GLEE 高兴
  • Glfw 高尔夫
  • GLM GLM

Most notably, the OpenGL Performer library, developed by SGI and available for IRIX, Linux and some versions of Windows, which allows the creation of real-time rendering applications.

最值得注意的是,由SGI开发的OpenGL Performer库可用于IRIX,Linux和Windows的某些版本,该库允许创建实时渲染应用程序。

OpenGL实现 (The OpenGL Implementations)

Many implementations of OpenGL (3D acceleration operator provided by the hardware) exist for Windows, many Unix workstations and Mac OS. These implementations are generally provided by manufacturers of graphics hardware and are closely related. There is a free implementation of this library named Mesa, founded 1993 by Brian Paul and who uses the same API, which allows:

对于Windows,许多Unix工作站和Mac OS,存在许多OpenGL实现(由硬件提供的3D加速运算符)。 这些实现通常由图形硬件制造商提供,并且密切相关。 这个名为Mesa的库有一个免费实现,该库由Brian Paul创建,并使用相同的API,该库允许:

  • To pass the license OpenGL in most cases 大多数情况下要通过OpenGL许可证
  • To run OpenGL applications on X terminals that are in principle unfit (the performance is so poor, but it is sometimes better than no enforcement at all if one does not need to use any animation in real time). These stations do not usually have 3D functions, one can not but use it only for simple models with few polygons. 要在原则上不适合的X终端上运行OpenGL应用程序(性能非常差,但是如果不需要实时使用任何动画,有时总比完全不执行要好)。 这些测站通常不具有3D功能,只能将其用于多边形很少的简单模型。

兴趣SGI OpenGL (Interest SGI OpenGL)

IMS makes every time in the public domain version N-1 GL, GL graphics library. This marketing approach

IMS每次都在公共领域版本N-1 GL,GL图形库中进行制作。 这种营销方式

  • Discourages competition (OpenGL is free and open, why develop something else?) 不鼓励竞争(OpenGL是自由开放的,为什么还要开发其他东西?)
  • Discourages modifying OpenGL (because any addition would be to start in the next version of OpenGL) 不鼓励修改OpenGL(因为任何添加都将在下一版OpenGL中启动)
  • SGI provides a substantial competitive advantage, since GL has always a step ahead of OpenGL. It constitutes a form of sponsorship improving the image of society that puts its ancient works in the public domain. SGL提供了巨大的竞争优势,因为GL始终领先OpenGL。 它构成了一种赞助形式,可以提高社会形象,将其古老作品置于公共领域。

OpenGL的使用 (Use of The OpenGL)

Some software uses OpenGL to manage all of their interface, even 2D, Blender, Google Earth, or the SGI version of X11.

某些软件使用OpenGL管理其所有界面,甚至包括2D,Blender,Google Earth或X11的SGI版本。

Study: From Wikipedia, the free encyclopedia. The text is available under the Creative Commons.

研究:来自维基百科,免费的百科全书。 该文本可在“ 知识共享”下找到 。

翻译自: https://www.eukhost.com/blog/webhosting/what-is-opengl/

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477