OpenGL ES 1.0 and 1.1 - This API specification is supported by Android 1.0 and higher. 固定管线。 OpenGL ES 2.0 - This API specification is supported by Android 2.2 (API level 8) and higher.
对应GLSL 1.10全面支持Shader编程。
OpenGL 2.0 (2004)
| Addition |
Promoted from |
|---|
| Shader objects |
ARB_shader_objects,heavily modified |
| Shader programs |
ARB_vertex_shader, ARB_fragment_shader,heavily modified |
| Shading language 1.10 |
ARB_shading_language_100,heavily modified |
| Multiple render targets |
ARB_draw_buffers |
| Non-power-of-two textures |
ARB_texture_non_power_of_two |
| Point sprites |
ARB_point_sprite |
| Separate stencil |
ATI_separate_stencil, EXT_stencil_two_side |
OpenGL ES 3.0 - This API specification is supported by Android 4.3 (API level 18) and higher.借鉴了OGL 3.2 3.3 OGL4.0-4.3有Shader Mode 4.0-5.0功能。
The OpenGL ES 3.0 specification[10]was
publicly released in August 2012.[11]OpenGL
ES 3.0 is backwards compatible with OpenGL ES 2.0, enabling applications to incrementally add new visual features to applications.
OpenGL 4.3 provides full compatibility with OpenGL ES 3.0.
New functionality in the OpenGL ES 3.0 specification includes:
- multiple enhancements to therendering
pipelineto enable acceleration of advanced visual effects including: occlusion queries, transform feedback,instanced
renderingand support for four or morerendering targets,
- high qualityETC2 / EACtexture
compressionas a standard feature, eliminating the need for a different set oftexturesfor
each platform,
- a new version of the GLSL ESshading language[12]with
full support for integer and32-bitfloating
pointoperations;
- greatly enhancedtexturingfunctionality including guaranteed
support forfloating pointtextures, 3D textures, depth textures, vertex textures, NPOT textures,
R/RG textures, immutable textures, 2D array textures,swizzles,LODandmip
levelclamps, seamlesscube mapsand sampler objects,
- an extensive set of required, explicitly sizedtextureand
render-buffer formats, reducing implementation variability and making it much easier to write portable applications.
OpenGL ES 3.1 - This API specification is supported by Android 5.0 (API level 21) and higher.对应OGL 4.4Shader Mode 5.0功能
Caution: Support of the OpenGL ES 3.0 API on a device requires an implementation of this graphics pipeline provided by the device manufacturer. A device running Android 4.3 or higher may not support the OpenGL ES 3.0 API. For information on checking what
version of OpenGL ES is supported at run time, see Checking OpenGL ES Version.
The OpenGL ES 3.1 specification[13]was
publicly released in March 2014. New functionality in OpenGL ES 3.1 includes:[14]
OpenGL ES 3.1 is backward compatible with OpenGL ES 2.0 and 3.0, thus enabling applications to incrementally incorporate new features.
OpenGL ES 3.2[edit]应该对应OGL
4.5Shader Mode 5.0功能
OpenGL ES 3.2 works on the same hardware as OpenGL 3.1. It incorporatesAndroid
Extension Pack(AEP) into it: "OpenGL ES 3.2 boasts a small number of improvements over last year’s OpenGL ES 3.1. Both make use of similar features from the AEP. From the AEP, OpenGL ES 3.2 compliant hardware will support Tessellation for additional geometry
detail, new geometry shaders, ASTC texture compression for a smaller memory bandwidth footprint, floating point render targets for high accuracy compute processes, and new debugging features for developers. These high-end features are already found in the
group’s full OpenGL 4 specification."[36][3]
Supported by:
- Nvidia GeForce 400 series (Fermi) and newer (Windows, Linux)[37]
OpenGL SC 2.0 (planned 2016) and Vulkan/SPIR will converge in a "New Generation API for safety certifiable graphics AND compute".[3]
The OpenGL ES 3.2 specification[15]was
publicly released in August 2015. New capabilities in OpenGL ES 3.2 include:
- Geometry and tessellation shaders to efficiently process complex scenes on the GPU.
- Floating point render targets for increased flexibility in higher precision compute operations.
- ASTC
compressionto reduce the memory footprint and bandwidth used to process textures.
- Enhanced blending for sophisticated compositing and handling of multiple color attachments.
- Advanced texture targets such as texture buffers, multisample 2D array and cube map arrays.
- Debug and robustness features for easier code development and secure execution.
更多见:https://en.wikipedia.org/wiki/OpenGL_ES
|