OPENGL es版本和OGL 及android关系

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.

2.0 1.10

对应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 the rendering
    pipeline
     to enable acceleration of advanced visual effects including: occlusion queries, transform feedback, instanced
    rendering
     and support for four or more rendering targets,
  • high quality ETC2 / EAC texture
    compression
     as a standard feature, eliminating the need for a different set of textures for
    each platform,
  • a new version of the GLSL ES shading language[12] with
    full support for integer and 32-bit floating
    point
     operations;
  • greatly enhanced texturing functionality including guaranteed
    support for floating point textures, 3D textures, depth textures, vertex textures, NPOT textures,
    R/RG textures, immutable textures, 2D array textures, swizzlesLOD and mip
    level
     clamps, seamless cube maps and sampler objects,
  • an extensive set of required, explicitly sized texture and
    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.4 Shader 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.5 Shader Mode 5.0功能

OpenGL ES 3.2 works on the same hardware as OpenGL 3.1. It incorporates Android
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
    compression
     to 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

时间: 2024-08-05 03:22:59

OPENGL es版本和OGL 及android关系的相关文章

在Android中使用OpenGL ES进行开发第(一)节:概念先行

一.前期基础是知识储备笔者计划写三篇文章来详细分析OpenGL ES基础的同时也是入门关键的三个点: ①OpenGL ES是什么?与OpenGL的关系是什么?——概念部分 ②使用OpenGL ES绘制2D/3D图形的第一步:定义图形:——运用部分 ③使用OpenGL ES绘制出②步骤中定义好的图形:——运用部分,难点所在 通过这三篇文章的分析,就像给万丈高楼垫定了基石,万丈高楼平地起,后面利用OpenGLES做各种效果,各种变换都是建立在这三步的图形编程理解之上的. 话不多说正文开始 (1)什么

【Android应用开发】 OpenGL ES -- 透视投影 和 正交投影

博客地址 : http://blog.csdn.net/shulianghan/article/details/46680803 源码下载 : http://download.csdn.net/detail/han1202012/8903437 正交投影效果 :  透视投影效果 :  一. 投影简介 1. 摄像机位置 摄像机参数 : -- 摄像机位置 : 摄像机的 三维坐标位置 x, y, z 坐标; -- 观察方向 : 摄像机镜头的朝向, 是一个三维向量, 指向一个三维坐标方向; -- up

Android OpenGL ES 离屏渲染(offscreen render)

通常在Android上使用OpenGL ES,都是希望把渲染后的结果显示在屏幕上,例如图片处理.模型显示等.这种情况下,只需要使用Android API中提供的GLSurfaceView类和Renderer类,在这两个类提供的初始化.回调函数中设置/编写相应的代码即可.不过,如果不希望把渲染结果显示在屏幕上,也就是所说的离屏渲染(offscreen render),这两个类就帮不上忙了.在此介绍一下如何在Android系统上做OpenGL ES 的离屏渲染. 1.基础知识 要想使用OpenGL

Chapter 1 : OpenGLES 3.0 简介 (1)—— OpenGL ES 简介

OpenGL ES (OpenGL for Embedded Systems 的缩写)是一套在手持设备和嵌入式设备上实现高级3D图形化的应用变成接口(API).OpenGL ES作为图形API在当今的智能机领域占据了主导地位,并且已经将其应用扩展到了台式机.支持OpenGL ES的平台包括iOS.Android.BlackBerry.bada.Linux和Windows.OpenGL ES也支持WebGL——一种实现基于浏览器3D图形化的web标准. 2009年六月,苹果发布了iPhone 3G

OpenGL ES入门详解

 1.决定你要支持的OpenGL ES的版本.目前,OpenGL ES包含1.1和2.0两个版本,iPhone 3G+和iPad开始支持OpenGL ES2.0.而且这两个版本之间的差异非常大,不仅仅在编程思想上,API之间的差距也很大.因此,如果你想使用OpenGL ES开发3D程序或游戏,那么首先就要决定使用哪个版本,还是说两个版本都支持.OpenGL ES定义了代表不同版本的宏: enum { kEAGLRenderingAPIOpenGLES1 = 1,     //1.1版 kEAGL

OpenGL ES总结(一)OpenGL 初识

转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/61615215 OpenGL是在图形图像中,非常优秀的渲染库,文中Demo下载地址:https://github.com/hejunlin2013/OpenGL31,看下今天的Agenda: OpenGL是什么? OpenGL主要功能是什么? OpenGL ES是什么? Android中如何描述OpenGL ES版本 映射坐标绘制对

[转] iOS OpenGL ES Guide

OpenGL ES 小结 概述 OpenGL ES (Open Graphics Library for Embedded Systems)是访问类似 iPhone 和 iPad 的现代嵌入式系统的 2D 和 3D 图形加速硬件的标准. 把程序提供的几何数据转换为屏幕上的图像的过程叫做渲染. GPU 控制的缓存是高效渲染的关键.容纳几何数据的缓存定义了要渲染的点.线段和三角形. OpenGL ES 3D 的默认坐标系.顶点和矢量为几何数据的描述提供了数学基础. 渲染的结果通常保存在帧缓存中.有两

android graphic(14)—EGL和OpenGL ES之间的关系

OpenGL ES EGL 例子 EGL加载OpenGL ES库 涉及的库 库的加载 小结 OpenGL ES 什么是OpenGL? Open Graphics Library (OpenGL) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to intera

Android OpenGL ES 应用(一)

OpenGL已经成了3D的一个"标准" 因为它能跨平台,接口也比较丰富,几乎大部分的手机3D游戏都和OpenGL有关系. 当然还有微软有direct X 但只能在微软平台上使用. OpenGL底层是c/c++实现,JAVA中使用都是用封装好的类库.Android提供了以下几个接口包 可使用,基本能达到3D技术的要求. Android平台用OpenGL ES 这个子集来处理图像,现在OpenGL ES基本用2.0的了,很少再用1.0的,3.0还未流行起来. 首先编写判断Android设备