一、有哪些图形API
1、OpenGL :
OpenGL被定义为“图形硬件的一种软件接口”。从本质上说,它是一个3D图形和模型库,具有高度的可移植性,具有非常快的速度。
OpenGL是一个跨平台编程语言,跨平台的变成图形程序接口,他将计算机的资源抽象成一个个OpenGL的对象,对这些资源的操作抽象成一个个的OpenGL指令。为什么说OpenGL可以做到这么跨平台,就是因为OpenGL的直接操作对象是GPU,对于GPU的操作所有机器都是一样的,然后对于界面部分,由相对于的语言去实现
2、OpenGL ES
OpenGL ES 是OpenGL三位图形API的子集,针对手机,PDA和游戏主机等嵌入式设备而设计,去除许多不必要和性能较低的API接
3、DiretX
DiretX 是有很多API组成的,DiretX并不是一个单纯的图形api,最重要的是Diretx是属于Windows上一个多媒体处理框架,并不支持Windows以外的平台,所以不是跨平台框架,按照性质可以分为:显示部分,声音部分,输入部分,网络部分
4、Metal
apple为游戏开发者推出的新的平台技术,metal,该技术为3D图形提高10倍的渲染性能,apple未解决3D渲染而推出的框架
二、图形API解决了什么问题:
简单来说,图形API就是实现图形的底层渲染
(1)比如在游戏中,对于游戏的场景,游戏人物的渲染(这个一般是游戏引擎干的事情)
(2)比如在音视频开发中,对于视频解码后的数据渲染(视频解码后还是是数据,还没渲染到屏幕的)
(3)比如在地图引擎中,对于地图上的数据渲染
(4)比如在动画中,实现动画的绘制
(5)比如在视频处理中,对于视频加上滤镜的效果
OpenGL, OpenGL ES ,Metal 在任何项目中解决问题的本质都是利用GPU芯片来高效渲染图形图像,而图形API就是iOS开发者唯一接近GPU的方式,OpenGL, OpenGL ES ,Metal 其实操作的就是GPU芯片