OpenGL system design-1.1 What is OpenGL

Source: Internet
Author: User
1 OpenGL basics 1.1 What is OpenGL

OpenGL is called Open graphics language. It refers to open graphical program interfaces. It is a cross-platform standard used for 3D rendering and 3D addition. In other words, OpenGL is a 3D API, it is an important communication bridge between 3D accelerator card hardware and 3D graphics applications. Its main goal is to realize a realistic 3D world by calling various functions provided by it. In this 3D world, objects are a collection of points, lines, and surfaces. OpenGL converts the data representing the object through fixed steps and finally displays the data on the computer screen.

OpenGL supports windows, maxos, Linux, and UNIX. To achieve the openness declared by OpenGL, SGI and Dec, IBM, Intel, and Microsoft led the establishment of the OpenGL organization, called the OpenGL architecture Review Board-Arb ), currently, the Organization includes 12 voting members, including SGI, IBM, Intel, HP, apple, Dell, sun, ATI, 3 dlabs, NVIDIA, matrox, and Evans & Sutherland, and discreet and id software. more than 20 participants, including NEC, quantum 3D, University of Central Florida, intelligraphics, micron, S3/diamond multimedia, Raven software, and sis. OpenGL ARB holds a meeting every three months to discuss issues that need to be handled by the Organization and the Development of OpenGL.

OpenGL, formerly known as irisgl developed by SGI for its graphics workstation, released OpenGL version July 1992 in 1.0. Later, we developed Windows NT and Windows 9x OpenGL together with Microsoft, so that some large 3D graphics processing software that had to be run on high-end graphics workstations, for example, softimage3d can also be used on an ordinary personal PC. Windows 2003/and Windows XP support OpenGL. In this way, some excellent 3D graphics design software such as AutoCAD, 3 DSMAX, Maya, truspace, Lightwave 3D can all use 3D acceleration cards supporting OpenGL, greatly improving the processing speed of 3D graphics.

OpenGL is also evolving. On siggraph2003 in July 2003, OpenGL ARB released the latest version of OpenGL 1.5 specifications, this specification introduces a new coloring language oglsl (OpenGL shading language ). The purpose of oglsl is to enable the graphics cards of most manufacturers on most platforms to use the same advanced coloring language. It will allow developers to create a wide range of graphics, images, and computing applications accelerated by the next generation of highly parallel graphics hardware. It will be called the foundation of the upcoming opengl2.0 release.

With regard to the application of OpenGL 1.5, OpenGL ARB stated in the joint statement: "It can render the computer graphics scene in any major film of this summer with movie quality in real time, instead of taking a few months to create a project. Car designers can design cars that are similar to photos, while the training simulation of jet fighters is not only nice-looking, but also accurate to the inability to identify the differences between simulation scenarios and physical objects ."

Although there is no problem in the application of conventional computer systems, the application of OpenGL becomes a problem in embedded systems due to system resources. To solve this problem, khronos group, an industry group with the purpose of developing APIs, released opengl1.5 on OpenGL ARB to deploy OpenGL ES (OpenGL embedded system) 1.0, a 2-dimensional/3-dimensional graphics specification, for embedded systems on the same day. In addition, khronos group has also formulated the EGL 1.0 specification, and EGL 1.0 has developed a standard method for installing OpenGL ES in multiple operating systems. As a subset of OpenGL, OpenGL ES 1.0 only requires 50 K Capacity, greatly reducing the burden on the system.

Early OpenGL was purely a 3D API, which made it face a problem when competing with Microsoft's DirectX, that is, how to combine audio, video processing and OpenGL. OpenGL programmers need to consider and handle these problems on their own, although these problems are not difficult. However, OpenGL ARB still considers this issue and released openml 2001 (OpenGL media libraby) in 1.0 ). As an extension of OpenGL, openml is responsible for processing audio, video, and playback. The openml software environment makes it easier to integrate multiple formats of digital content, including video, sound, and 3D graphics. It is worth noting that openml makes the display, image, and sound card of New Products richer, just like the applications of TV set-top boxes on portable devices. Therefore, in comparison, MEPG-4 is a component that provides video data streams, while openml is an adhesive that combines videos with rich 3D displays and sound effects. Openml is also cross-platform.

However, the alpha version of openml 1.0 SDK was not released until siggraph2003 and khronos group. This version supports Windows and Linux, and of course sgi irix, the official version of OpenGL SDK 1.0 will not be released until 2004.

In addition to conventional computer systems and embedded systems, OpenGL can also be applied to mobile handheld devices, such as PDAs and mobile phones. In order to develop OpenGL into a graphical specification standard for mobile devices, SGI and Sun reached a cooperation on the graphics processing technology of both parties in July 2003 and jointly developed the supporting Java software for OpenGL application interfaces (APIS. Help mobile users download and download games, music and graphics applications. The two companies will jointly develop API bundling software, and then submit the new products to Java Community process and OpenGL Arb. By combining OpenGL and Java capabilities, you can connect high-performance graphics to a network environment in a general platform application environment, allowing you to enjoy a variety of media, graphics, or commercial performances. New products can also help program developers develop software suitable for both mobile phones and supercomputers. Games developed by game developers may not only play on mobile phones, but also on desktop computers. Sun also cooperates with khronos group to implement OpenGL ES's support for j2_image ape.

To the OpenGL programmers, The openml, openml SDK, and openel mentioned above can all be downloaded and used on the official website of khsf-sgroup for free.

In Windows 98 and Windows NT/2000, the OpenGL 1.1 specification is used, which can meet the requirements of most applications, but includes the new OpenGL 1.2 ~ The 1.5 support can only be supported by the driver of the video card manufacturer. If you want to get the new OpenGL features, you need to upgrade your graphics card driver. Of course, the newer the default supported OpenGL version, the higher.

When it comes to OpenGL, Microsoft is unable to mention that Microsoft's strength in the software industry is actually powerful. As a founding member of OpenGL ARB, Microsoft's attitude towards OpenGL is ambiguous. Although Microsoft chose to support OpenGL in windows under pressure, such support is not thorough. Of course, this is also related to Microsoft's goals. Microsoft also wants to control this field. as it does in other fields, it cannot fully support a standard that competes with its own products. Although Windows's GDI and wing cannot be 3D, even the 2D graphics API standard, Microsoft still has the ability to develop a DirectX to compete with OpenGL.

Microsoft announced its withdrawal from OpenGL ARB in February 2003 to focus on its own DirectX. Although Microsoft promotes that it will continue to support OpenGL, it is expected that the two standards will continue to compete in the future.

Since then, OpenGL has grown from 1.0 to 3.0, and DirectX has also grown to the latest 11.0. Both parties can say that they are each other's best players. However, when OpenGL ES was born, it became a 3D Standard for mobile terminals. In the rapid development of mobile communication, OpenGL is a half step ahead.

Bytes -------------------------------------------------------------------------------------------------
Disclaimer: This article can be freely transmitted in online media, but the author's statement information and source must be retained. The reference of the print media must be approved by the author.
In addition, the author also welcomes colleagues to exchange ideas.
QQ: 851473402
Email: LotusRachel@gmail.com

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.