OpenGL ES 简介
目录
- 一.前言
- 1.WebGL
- 2.OpenCV
- 3.Direct3D
- 4.OpenGL
- 5.OpenGL ES 和 OpenGL
- 二.OpenGL ES 跨平台
- 1.OpenGL ES
- 2.Metal
- 3.Vulkan
- 三.OpenGL ES 使用场景
- 四.OpenGL/OpenGL ES/WebGL
- 五.猜你喜欢
零基础 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 使用场景
- 图片处理。比如图片色调转换、美颜等。视频滤镜、音频滤镜.
- 摄像头预览效果处理。比如美颜相机、恶搞相机等。
- 视频处理。摄像头预览效果处理可以,这个自然也不在话下了。
- 3D 游戏。比如神庙逃亡、都市赛车等。
四.OpenGL/OpenGL ES/WebGL
五.猜你喜欢
- OpenGL ES 简介
- OpenGL ES 版本介绍
本文由博客 – 猿说编程 猿说编程 发布!