OpenGl_ES开发简介
OpenGL(开放图形语言)是一个专业级的图形编程接口,由Silicon Graphics(SGI)于1992年推出,其设计理念在于为开发者提供一个统一的平台,让他们能够在各种不同硬件平台上实现高效的3D图形渲染,而无需过多关注底层复杂性。然而,由于OpenGL最初是为高性能工作站设计的,其规模和复杂性并不适合移动设备,尤其是智能手机。
为了适应嵌入式系统和移动设备的需求,特别是像Android这样的操作系统,Google选择了OpenGL的一个子集——OpenGL for Embedded Systems (简称OpenGLES),它是由Khronos Group,一个由Intel、AMD、NVIDIA、Nokia、SONY、三星等业界巨头组成的行业协会制定的。OpenGLES支持包括Android、Symbian和iPhone在内的主流移动平台,它的版本包括OpenGLES 1.0(基于OpenGL 1.3)、OpenGLES 1.1(基于OpenGL 1.5)和OpenGLES 2.0(基于OpenGL 2.0),后者自Android 2.2开始受到官方支持。
在Android系统中,OpenGL ES 2.0通过android.opengl包提供API,允许开发者通过Android Native Development Kit (NDK)进行访问。值得注意的是,尽管OpenGLES 2.0已经成为Android 2.2及以后版本的主要3D图形处理手段,但当时还没有对应的Java Scripting Runtimes (JSR)标准。这表明当时的Android系统采用了一个分层的3D图形解决方案:一部分是Java框架,使用javax.microedition.khronos.opengles作为标准的OpenGL接口;另一部分是本地代码,负责实现OpenGL接口,并与Android GUI系统紧密结合。这一本地代码库包含了一系列扩展类,如GL、GL10、GL10EXT、GL11、GL11EXT和GL11ExtensionPack等,这些类提供了丰富的图形编程接口,使得开发者能够在Android平台上构建丰富的3D应用。
总结来说,OpenGl_ES在Android平台上的应用涉及到了对高性能3D图形处理的优化,通过选择适配的子集,降低了对设备性能的要求,同时提供了必要的API和工具包,使得开发者能够在保持图形效果的同时,确保应用程序的性能和兼容性。随着技术的发展,随着更多的API和标准化工作的推进,OpenGl_ES在Android中的作用将继续增强,推动移动应用的视觉体验提升。