了解常见的图形API

简介: 常见的图形API

常见的图形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
  • 多媒体处理AP


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的唯一方式
相关文章
|
2月前
|
移动开发 前端开发 API
HTML5 Canvas 提供丰富的绘图API,支持绘制图形、文本、渐变和图像,助力游戏开发
【5月更文挑战第13天】HTML5 Canvas 提供丰富的绘图API,支持绘制图形、文本、渐变和图像,助力游戏开发。关键功能包括绘制基本形状、文本渲染、图像处理及渐变图案。在游戏开发中,Canvas用于绘制游戏元素、实现动画效果、精确的物理碰撞检测,并具有跨平台兼容性,为创造多样化视觉体验和互动游戏提供强大工具。随着技术进步,Canvas在游戏领域的应用将持续增长。
29 4
|
7月前
|
JavaScript 前端开发 测试技术
一文带你了解图形测试用例|API 自动化测试
Eolink Apikit 的图形用例是指通过图形化的方式去表现 API 流程测试。它包括了条件选择器、单个 API 步骤和操作集等组件。 相较于前面推荐的表格化的通用用例,图形用例可以让测试人员更方便地设计和管理 API 流程测试,同时也更加的灵活。
69 0
|
XML 缓存 前端开发
图形可视化 API 基础
关于 HTML/CSS、SVG、Canvas2D 和 WebGL 这四种图形系统。
|
存储 Java API
【Android 内存优化】Android 原生 API 图片压缩原理 ( Bitmap_compress 方法解析 | Skia 二维图形库 | libjpeg 函数库 | libpng 函数库 )
【Android 内存优化】Android 原生 API 图片压缩原理 ( Bitmap_compress 方法解析 | Skia 二维图形库 | libjpeg 函数库 | libpng 函数库 )
231 0
|
移动开发 前端开发 JavaScript