OpenGL extensions (continued)

Source: Internet
Author: User

After learning about OpenGL's extension mechanism, I came up with a new question: in OpenGL, can I use software if some feature hardware is not implemented? Direct3d provides us with a hardware abstraction layer (Hardware Abstraction action layer) through which applications are fully integrated. Program Isolated from the hardware layer, applications can call any interfaces provided by direct3d (you must know that direct3d is implemented using COM) without considering hardware conditions. If the hardware supports this feature, how can we use the hardware? Otherwise, we can use the software. I wonder if OpenGL has such a mechanism?
To understand this problem, we should first understand the relationship between OpenGL specifications, OpenGL implementations, and OpenGL extensions. OpenGL specification is maintained by the OpenGL architecture Review Board (OpenGL ARB) organization. It is actually the product of OpenGL standardization, that is, it specifies a standard that OpenGL applies throughout the industry. Different organizations and individuals can compile their own OpenGL implementations based on OpenGL specification, that is, different versions of OpenGL APIs. With the continuous update of OpenGL specification and the continuous addition of new features, OpenGL implementations should also be updated with the update of OpenGL sepcifiation, but this is not the case. I think some of the reasons are the author of OpenGL API. For example, we often use OpenGL on Windows. Microsoft wants to promote its own DirectX, of course, I am not very interested in updating OpenGL APIs. The more important reason is the practical consideration: the new features in OpenGL specification are becoming more and more complex, and the computing workload is getting bigger and bigger. It is purely implemented by software and has little practical significance (for example, it takes 10 minutes to render a frame. Do you still want to see it ?), Therefore, hardware vendors have proposed the concept of "Hardware acceleration (hardware acceleration". hardware is used to complete the rendering process of a large amount of computing, and hardware products are constantly updated, it constantly brings us visual impact.
The flexible extension mechanism of OpenGL makes it easy for us to use the new features provided by any hardware in the Program (even if these new features are not included in OpenGL Specification ). Of course, we can constantly update the OpenGL API to meet the latest OpenGL specification, but this is of little practical significance. From a practical point of view, we can simply implement a basic OpenGL framework, you can use the extended OpenGL mechanism to use the features completed by hardware. This is why I am not interested in updating OpenGL APIs. In this case, Microsoft's delay in updating OpenGL APIs on windows can be mitigated by a little :).

Note:
Mesa is an open source 3D graphics library with the same API as OpenGL, but it is not OpenGL. it is constantly updated to comply with the latest OpenGL specification. The latest version reaches 6.2, implementing OpenGL specification 1.5. Mesa uses software to implement specification features and does not require hardware support. Therefore, when you want to experiment with an extension that is not supported by your video card, you can use Mesa, of course, there will be a big difference in efficiency. Mesa's official website is www.mesa3d.org.

--------------------------- Dedicated to multimedia technology, become a thoughtful software engineer ------------------------

ThisArticleIf you want to repost the original work for me, please contact me or indicate the source.
You are welcome to give your valuable comments on the content of the article, and hope that you will promptly point out the mistakes in the article so that I can correct them in time.
My contact information:
QQ: 7578420
Email: jerrydong@tom.com

Bytes ----------------------------------------------------------------------------------------

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.