目录

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 转场

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 函数

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES GPUImage 使用

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES GLSL 编程

一.前言

1.WebGL

**WebGL 是基于 OpenGL ES 2.0 的 Javascript API,**被各大 web 浏览器厂商广泛支持,使用 JavaScript 语言提供 API ,不使用插件的情况下在兼容的 web 浏览器的 Canvas 上呈现交互式 3D 图形;

因此对于 OpenGL ES 2.0 熟悉的程序员,掌握 WebGL 是完全没有什么障碍的;反过来,如果仅仅是 Web 前端技术熟悉的话,那么至少要补上 OpenGL 和 GLSL 这两课。

2.OpenCV

跨平台开源计算机视觉库,图像处理和计算机视觉方面的很多通用算法,应用领域:

  • 人机互动;
  • 物体识别;
  • 图像分割;
  • 人脸识别;
  • 动作识别;
  • 运动跟踪;
  • 机器人;
  • 运动分析;
  • 机器视觉;
  • 结构分析;
  • 汽车安全驾驶;

OpenCV 和 OpenGL 区别就在于:

OpenCV 是从图像到数据,主要是提供图像处理和视频处理的基础算法库,还涉及一些机器学习的算法。比如你想实现视频的降噪、运动物体的跟踪、目标(比如人脸)的识别这些都是 CV 的领域;专注于从采集到的视觉图像中获取信息,是用机器来理解图像;

OpenGL 是从数据到图像;主要用于生成二维、三维图像,绘制合适的视觉图像给人看;

3.Direct3D

Direct3D 是由微软公司创建的多媒体编程接口。由 C++ 编程语言实现,遵循 COM 。被广泛使用于 Microsoft Windows、Microsoft XBOX、Microsoft XBOX 360 和 Microsoft XBOX ONE 电子游戏开发,并且只能支持这些平台。

4.OpenGL

OpenGL(全写 Open Graphics Library)是个定义了一个跨编程语言、跨平台的应用程序接口(API)的规格,它用于生成二维、三维图像。OpenGL 广泛用于 PC 平台(windows、Linux、Unix、Mac OS X);

5.OpenGL ES 和 OpenGL

早先定义 OpenGL ES 是 OpenGL 的嵌入式设备版本,用于移动端平台(Android、iOS),但由于嵌入式设备要求的是高性能,所以一些其它纯追求高性能的设备也开始用这种 API 方式;

OpenGL ES 是 OpenGL 的子集,区别在于 OpenGL ES 删减了 OpenGL 一切低效能的操作方式,有高性能的决不留低效能的,即只求效能不求兼容性。(即:OpenGL ES 能实现的,OpenGL 也能实现;OpenGL 部分 API,OpenGL ES 不支持)

二.OpenGL ES 跨平台

1.OpenGL ES

**OpenGL ES 是个与硬件无关的软件接口,可以在不同的平台如 Windows、Unix、Linux、MacOS、IOS、Android 之间进行移植。**因此,支持 OpenGL ES 的软件具有很好的移植性,可以获得非常广泛的应用。

2.Metal

在 WWDC 2014 上,Apple 为游戏开发者推出了新的平台技术 Metal,该技术能够为 3D 图像提高 10 倍的渲染性能,并支持大家熟悉的游戏引擎及公司。Metal 是一种低层次的渲染应用程序编程接口,提供了软件所需的最低层,保证软件可以运行在不同的图形芯片上。Metal 提升了苹果 A 系列处理器效能,让其性能完全发挥。

Metal 是一项全新的技术,专为开发高临场感主机游戏的开发者打造,可让开发者全力发挥芯片的性能。虽然苹果一直强调 Metal 很强悍,但是依然与 DX 一样,这不是一个跨平台支持的 API,只针对 iOS、macOS 苹果自家的操作系统。

3.**Vulkan **

Vulkan 是一个免费开放的、跨平台的、底层的图形 API,Vulkan 支持的操作系统包括:Linux, Windows XP to Windows 10, android 等。

Vulkan 的最大任务不是竞争 DirectX ,而是取代 OpenGL,Vulkan 在改善功耗、多核优化提升绘图调用上之于前辈 OpenGL 有着非常明显的优势,但是 Vulkan 跟偏向于底层,比 OpenGL 更加复杂!建议是:OpenGL 和 Vulkan 都要学!

三.OpenGL ES 使用场景

  1. 图片处理。比如图片色调转换、美颜等。视频滤镜、音频滤镜.
  2. 摄像头预览效果处理。比如美颜相机、恶搞相机等。
  3. 视频处理。摄像头预览效果处理可以,这个自然也不在话下了。
  4. 3D 游戏。比如神庙逃亡、都市赛车等。

四.OpenGL/OpenGL ES/WebGL

五.猜你喜欢

  1. OpenGL ES 简介
  2. OpenGL ES 版本介绍
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐