Chapter 1:opengles 3.0 Introduction (1)--opengl ES Introduction

Source: Internet
Author: User

  OpenGL ES (the abbreviation for Embedded Systems) is a set of applications that enable advanced 3D graphics on handheld devices and embedded devices to become interfaces (APIs). OpenGL es dominates today's smart-machine landscape as a graphics API and has extended its applications to desktops. Platforms that support OpenGL ES include iOS, Android, BlackBerry, Bada, Linux, and Windows.  OpenGL ES also supports webgl--, a Web standard that implements browser-based 3D graphics. In June 2009, Apple released the iphone 3gs,2010 Google released the Android2.0. Since then, iOS and Android have started to support OpenGL ES 2.0. The first edition of this book describes OpenGL ES 2.0 in detail. As the second edition of this book, the next version of OpenGL ES, the OpenGL ES 3.0 version, will be introduced. Every handheld device platform will continue to support OPENGGL ES3.0, which is almost inevitable trend. In fact, OpenGL ES 3.0 is already supported in each Android device that uses the Android4.3 version and the iphone 5s using IOS7.  OpenGL ES 3.0 is backwards compatible with OpenGL ES 2.0, which means that programs written for OpenGL ES 2.0 can also be run on devices that support OpenGL ES 3.0. The API for OpenGL ES was written by the Khronos Group team. Khronos group team was founded in  2000  year  1  month, by including  3dlabs, ati, discreet, evans  & Sutherland, Intel, Nvidia, SGI  and  Sun Microsystems  A number of internationally renowned multimedia industry leaders were created to develop open standard application interface  api&nbsp to enable rich media authoring, acceleration, and playback on multiple platforms and end devices. The Khronos Group team is also responsible for managing openggl--a set of standard 3D APIs that can run on Linux, various Unix, Mac OS x, and Mirosoft Windows desktop systems. Thisis a widely accepted 3D API and has seen significant usage scenarios in the real world. Since OpenGL is widely accepted as a 3D API, the Khronos group team adopted what they consider to be a reasonable approach when developing open standard 3D APIs (i.e. OpenGL ES) for handheld devices and embedded devices. is based on the OPENGGL API and then modifies it to meet the needs and realities of handheld devices. In the early versions (1.0,1.1 and 20), the design considers the limitations of the device, including limited processing power and memory availability, low memory bandwidth, and sensitivity to power consumption. The Working Group uses the following criteria in the definition of the Opengl es specification:
    The
    1. OpenGL API is very large and complex, and the goal of the OpenGL ES Workgroup is to create APIs that meet device limits. To achieve this goal, the workgroup removed all the redundant parts of the OpenGL API. Any operation, in the OpenGL API can be implemented in more than one way, then, in the OPENGGL ES API, only the most useful parts are preserved. A good example of this is the method for defining the geometry. In OpenGL applications you can use the immediate mode, display list, or vertex array. In Opengl es, only the vertex array is present, and the immediate mode and display list are deleted.
    2. While removing the redundant portions is an important goal of the new API design, maintaining compatibility with OpenGL is just as important. OpenGL ES is designed to work well in OpenGL ES environments using OpenGL-written applications for the functional subset of embedded devices. This is a very important design goal of the OpenGL ES API. Because this design goal allows developers to weigh two sets of APIs in an application or tool, and to develop cross-platform applications or tools by using APIs that use the same subset of functionality.
    3. in order to meet the special limitations of handheld and embedded devices, a number of new features have been introduced in Openggl es. For example, in order to reduce power consumption and improve shader performance, precision modifiers are introduced in the Shading language (Shader Language). Another goal of the designer of the
    4. OpenGL es is to identify a minimal subset of features that guarantee image quality. There is a limit to the size of the screen on the early-riser handheld device, so it is important to ensure the rendering quality of the pixels on the screen. The
    5. OpenGL ES Workgroup wants to ensure that OpenGL ES implementations meet some of the recognized and accepted standards for image quality, correctness, and robustness. This goal is achieved through the development of appropriate conformance testing. OpenGL ES APIs only pass these tests and are considered to meet compatibility requirements.   
To its current location, the Khronos team released four versions of the OpenGL ES specification, namely: OpenGL ES 1.0, OpenGL ES 1.1 (ES1.0 and ES1.1 in this book collectively known as OpenGL es1.x), OpenGL ES 2.0 and OpenGL ES 3.0. OpenGL ES 1.0, OpenGL ES 1.1 implements a fixed-function pipeline.  These two versions are derived from OpenGL 1.3 and OpenGL 1.5, respectively. The OpenGL ES 2.0 specification implements the programmable graphics pipeline, which originates from OpenGL 2.0.  "Originating from a version of the OpenGL specification" means that it is based on this version of the OpenGL specification when determining the set of features for an OpenGL ES version. OpenGL ES 3.0 represents the next stage in the development of handheld device technology, which originates from the OpenGL 3.3 specification. GPU's graphics rendering capabilities are further developed and improved on desktop systems when OpenGL ES 2.0 has the ability to render 3D rendering on handheld devices to a level comparable to DirectX9 and Microsoft Xbox 360. Notable technical features such as shadow Mapping, volume rendering, GPU-based particle animation, geometric instances, texture compression, and gamma correction are not included in OpenGL ES 2.0.  OpenGL ES 3.0 continues with the technical philosophy of adapting the new features to specific limitations on embedded devices, bringing the above features to the handheld device. Of course, some of the previous versions of OpenGL ES were designed with the limitations of embedded platforms that need to be considered and are not available on today's devices. For example, today's handheld devices are equipped with large screens (some devices have even higher screen resolutions than desktop monitors). In addition, many handheld devices are now equipped with high-performance multicore CPUs and large-capacity memory.   When the Khronos team developed Oepngl ES 3.0, the focus of their work shifted from solving the limited rendering capabilities of the device to the appropriate market timing for how to grasp the relevant features on the handheld device. The pipeline for OpenGL ES 3.0 is described in the next section.

Chapter 1:opengles 3.0 Introduction (1)--opengl ES Introduction

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.