About OpenGL ES
OpenGL 用来处理2D和3D视觉数据。这是一个多种用途的公开标准的图像库,它支持2D和3D数字内容创建,机械和结构设计,虚拟建模,飞行模拟,视频游戏等等。你可以使用OpenGL来配置一个3D图形流水线并提交数据。顶点将被传送,lit(?),装配进入图元,并光栅化来创建一个2D图片。OpenGL被设计用来将函数调用转换为图形命令,这些命令将被送到底层的图形处理硬件。因为这些底层硬件是专门处理图形命令的,OpenGL绘图是非常快的。
OpenGL ES是OpenGL的简化版,它删除了冗余的功能,提供一个在移动图形硬件上更容易学习和实现的库。
At a Glance
OpenGL ES让一个app能驾驭底层硬件处理器的能力。ios设备的GPU可以处理复杂的2D和3D绘图,也可以对最终图像上的每个像素进行复杂的shading计算。你应该使用OpenGL ES来对GPU进行最直接和最综合的访问。Typical clients for OpenGL ES include video games and simulations that present 3D graphics.
OpenGL ES是一个接近底层,集中于硬件的API.虽然它提供了最有力和灵活的图形处理工具,但它的学习曲线是陡峭的,他对整个app的设计也有显著的影响。对于许多在专业应用上需要高性能的图形的app,iOS提供了多个上层的框架:
1.The Sprite Kit framework provides a hardware-accelerated animation system optimized for creating 2D games. (See Sprite Kit Programming Guide.)
2.The Core Image framework provides real-time filtering and analysis for still and video images. (See Core Image Programming Guide.)
3.Core Animation provides the hardware-accelerated graphics rendering and animation infrastructure for all iOS apps, as well as a simple declarative programming model that makes it simple to implement sophisticated user interface animations. (See Core Animation Programming Guide.)
4.You can add animation, physics-based dynamics, and other special effects to Cocoa Touch user interfaces using features in the UIKit framework.
OpenGL ES Is a Platform-Neutral(平台无关) API Implemented in iOS
因为OpenGL ES是基于c语言的API, 它是可移植和广泛使用的。最为一个C API, 它无缝集成于Objective-C Cocoa Touch apps。OpenGL ES规范中没有定义一个窗口层,因此主机操作系统必须提供创建OpenGL ES渲染上下文的函数,该上下文接受commands, 和一个framebuffer(绘图命令会把最终的结果谢导framebuffer中)。在iOS上运行OpenGL ES需要用iOS类来建立和表现一个渲染平面,用于平台无关的API来render它的上下文。
Relevant Chapters: Checklist for Building OpenGL ES Apps for iOS, Configuring OpenGL ES Contexts
…有时间再翻译