OpenGL学习随笔(二)-- 什么是OpenGL

一、简介

OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。
OpenGL ES 是从 OpenGL 裁剪的定制而来的,去除了glBegin/glEnd,四边形(GL_QUADS)、多边形(GL_POLYGONS)等复杂图元等许多非绝对必要的特性。经过多年发展,现在主要有两个版本,OpenGL ES 1.x 针对固定管线硬件的,OpenGL ES 2.x 针对可编程管线硬件。OpenGL ES 1.0 是以 OpenGL 1.3 规范为基础的,OpenGL ES 1.1 是以 OpenGL 1.5 规范为基础的,它们分别又支持 common 和 common lite两种profile。lite profile只支持定点实数,而common profile既支持定点数又支持浮点数。 OpenGL ES 2.0 则是参照 OpenGL 2.0 规范定义的,common profile发布于2005-8,引入了对可编程管线的支持。

二、名字来源

OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。

三、算法标准

OpenGL- ES 是免授权费的,跨平台的,功能完善的2D和3D图形应用程序接口API,主要针对多种嵌入式系统专门设计 - 包括控制台、移动电话、手持设备、家电设备和汽车。它由精心定义的桌面OpenGL子集组成,创造了软件与图形加速间灵活强大的底层交互接口。 OpenGL ES 包含浮点运算和定点运算系统描述以及 EGL针对便携设备的本地视窗系统规范。OpenGL ES 1.X 面向功能固定的硬件所设计并提供加速支持、图形质量及性能标准。OpenGL ES 2.X 则提供包括遮盖器技术在内的全可编程3D图形算法。OpenGL ES-SC 专为有高安全性需求的特殊市场精心打造。

四、支持平台、机型

  • 支持iPad, iPhone 3GS 和后续版本,以及iPod Touch3代和后续版本。
  • 支持Android平台从Android 2.2版本开始。
  • 支持Android NDK从Android 2.0版本开始。
  • 支持BlackBerry PlayBook黑莓。
  • 支持Pandora潘多拉控制台的3D库。
  • 被WebGL支持:浏览器支持OpenGL
  • 支持少数新款Nokia诺基亚手机,比如N900上的Maemo和N8上的Symbian3塞班3系统。
  • 支持多款三星手机,包括Galaxy S和Wave。
  • 使用开发插件可以支持Palm webOS。
  • 支持Archos 爱可视上网本:70 IT, 101 IT

五、OpenGL ES 2.0

OpenGL ES 2.0是Khronos Group在2007年3月份制定的一种业界标准应用程序编程接口(API),可以大大提高不同消费电子设备的3D图形渲染速度,在嵌入式系统上实现了全面可编程的3D图形。 AMD的认证测试是在一套AMD Z430开发套装上进行的,曾在今年的巴塞罗那全球移动大会上进行演示,也就是当时AMD发布了支持OpenGL ES 2.0的Z460图形核心。在满足了OpenGL ES 2.0规范的关键特性,并通过了大量严格测试后,AMD获得了Khronos的认证。
备注:
opengl es与android有着密切的关系,主要体现在这两种接口的发展轨迹和研发公司。

六、OpenGL ES 3.0

主要新功能有:

1、渲染管线多重增强,实现先进视觉效果的加速,包括遮挡查询(Occlusion Query)、变缓反馈(Transform Feedback)、实例渲染(Instanced Rendering)、四个或更多渲染目标支持。
2、高质量ETC2/EAC纹理压缩格式成为一项标准功能,不同平台上不再需要需要不同的纹理集。
3、新版GLSL ES 3.0着色语言,全面支持整数和32位浮点操作。
4、纹理功能大幅增强,支持浮点纹理、3D纹理、深度纹理、顶点纹理、NPOT纹理、R/RG单双通道纹理、不可变纹理、2D阵列纹理、无二次幂限制纹理、阴影对比、调配(swizzle)、LOD与mip level clamps、无缝立方体贴图、采样对象、纹理MSAA抗锯齿渲染器。
5、一系列广泛的精确尺寸纹理和渲染缓冲格式,便携移动应用更简单。

OpenGL ES工作组会在六个月内更新OpenGL ES采纳者项目,提供广泛的兼容性测试,并提供相关源代码。
ARM、HI Corporation、Imagination、NVIDIA、高通、ZiiLABS等等都第一时间表达了对OpenGL ES 3.0的大力支持,其中ARM今天刚刚发布的第二代Mali-T600系列最新移动GPU就支持OpenGL ES 3.0。
2D/3D图形知识产权IP提供商Digital Media Professionals Inc. (DMP)也同时宣布,其基于可扩展SMAPH-S着色器的图形IP产品系列也已支持OpenGL ES 3.0。
原文地址:https://www.cnblogs.com/panshengneng/p/8490546.html