OpenGL + OpenGL ES +Metal 系列文章汇总

常见的图形API

目前比较常见的图形API主要有以下几种

  • OpenGL
  • OpenGL ES
  • OPenCV
  • DirectX
  • Metal

下面来具体介绍下各种API的特点

OPenGL(Open Graphics Library)

  • OpenGL是一个跨平台、跨语言的编程图形框架,主要用于windows、mac等PC端
  • 它将计算机资源资源抽象成一个个OpenGL对象,对这些资源的操作抽象为一个个OpenGL指令

要点

  • 跨平台、跨语言
  • OpenGL对象:计算机资源
  • OpenGL指令:对计算机资源的操作

OpenGL ES(OpenGL for Embedded Systems)

  • OpenGL ES 是OpenGL三维图像API的子集,主要是针对嵌入式设备的图形处理,比如安卓、iOS等
  • 去除了许多不必要和性能较低的接口

要点

  • 跨平台:ios、安卓
  • 兼容GLSL

OpenCV(Open Source Computer Vision Library)

  • OpenCV 与 OpenGL是图形API中两个大的分支,类似于iOS中的OC和swift,是两个不同的方向
  • OpenCV主要用于识别技术,例如人脸识别、身份识别、物体识别等,
  • 该API的使用需要与人工智能相结合
  • 目前市面上用的最多的识别三方是 face++,且是收费的,支付宝等大厂的识别功能也是集成的face++

要点

  • 跨平台、跨语言
  • 识别API
  • 与人工智能结合

DirectX

  • 由很多API组成,是一个多媒体处理框架,并不是单一的图形API
  • DirectX仅支持Windows平台
  • 该框架可以大致分为4类
    ==> 显示+声音+输入+网络

要点

  • 非跨平台:只支持Windows
  • 多媒体处理API

Metal

  • Metal是苹果为了解决3D渲染问题而推出的框架
  • 可以将3D渲染图像的性能提高10倍
  • Apple为游戏开发者提供的新的平台技术
  • 苹果系统中的CoreGraphics、CoreAnimation、CoreImage框架在2018年以前是基于OpenGL ES封装的,在2018年以后是基于Metal封装的

要点

  • Apple平台新的图形API
  • 提高了3D渲染性能
  • CoreGraphics、CoreAnimation、CoreImage目前是基于Metal封装的

图形API的目的

一句话概括:图形底层渲染的实现

解决了什么问题

  • 系统针对按钮、图片、视图、图层的渲染
  • 游戏开发中,游戏场景、人物的渲染
  • 音视频开发中,视频解码数据的渲染
  • 核心动画开发中,旋转、平移、缩放等动画操作中图层特效的渲染
  • 视频处理中,路径效果的实现
  • 离屏渲染

总结

  • OpenGL、OpenGL ES、Metal在任何项目中解决问题的本质就是利用GPU芯片高效渲染图形图像
  • 图形API,是iOS开发者接近GPU的唯一方式
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐