目录

  • 一.前言

    • 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 使用场景

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

四.OpenGL/OpenGL ES/WebGL

五.猜你喜欢

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

OpenGL ES 简介相关推荐

  1. 1、OPenGL ES - 简介、iOS中GLKit简单应用

    OPenGL ES -  简介.iOS中GLKit简单应用 一.OPenGL ES 1.简介: OpenGL ES 是以手持和嵌入式为目标的高级的3D图形应用程序编程接口(API),OpenGL ES ...

  2. 【OpenGL ES】OpenGL ES简介

    [参考-khronos]https://www.khronos.org/opengles/ 1.简介 OpenGL ES(OpenGL for Embeded System)是OpenGL(Open ...

  3. OpenGL ES简介(一)

    摘要: 概述 在聊Android的View渲染流程中,通常会有一个比较核心的步骤:通过OpeGL ES接口调用GPU接口通知GPU绘制图形.其完整的流程:UI对象---->CPU处理为多维图形, ...

  4. OpenGL ES简介及几个相关重要概念

    本文主要简述什么是OpenGLES,以及记录一下与OpenGLES相关的几个最重要的概念. 一.OpenGL ES是什么 OpenGL ES是使用在手机端和嵌入式里的3D图形应用程序编程接口,是跨平台 ...

  5. OpenGL ES EGL 简介

    目录 一.EGL 简介 二.EGL 跨平台之 ANGLE 1.ANGLE 支持跨平台 2.ANGLE 支持渲染器 3.ANGLE 下载地址 三.EGL 坐标系 四.EGL 绘图步骤 五.猜你喜欢 零基 ...

  6. OpenGL ES入门(使用指南)

    转载地址:https://www.ict528.com/wpozv3sz3srrtywpoq1qvuyqooqxz1usvwr2uqoo.html. OpenGL ES 入门 一.前言 OpenGL ...

  7. OpenGL ES EGL eglDestroyContext

    目录 一. EGL 前言 二. EGL 绘制流程简介 三.eglDestroyContext 函数简介 四.eglDestroyContext 使用 四.猜你喜欢 零基础 OpenGL ES 学习路线 ...

  8. OpenGL ES EGL eglCreatePbufferSurface

    目录 一. EGL 前言 二. EGL 绘制流程简介 三.eglCreatePbufferSurface 函数简介 1.eglCreatePbufferSurface 简介 2.eglCreatePb ...

  9. OpenGL ES EGL eglQueryContext

    目录 一. EGL 前言 二. EGL 绘制流程简介 三.eglQueryContext 函数简介 四.eglQueryContext 使用 四.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : ...

最新文章

  1. Python3 reversed 函数
  2. 一个中等规模的七段数码数据库以及利用它训练的识别网络
  3. oracle设置表字段小写,将oracle中的字段和表名全部修改为小写
  4. 图解MySql命令行创建存储过程
  5. 利用Siri API开发的语音输入法Air Dictate出现
  6. pm961 mysql_Oracle GoldenGate学习之--异构平台同步(Mysql到Oracle)
  7. python redis pipeline使用方法_Redis中的管道Pipeline操作
  8. php 接口升级,PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [6] 版本升级接口开发...
  9. CentOS7.4搭建FTP服务器(vsftp)
  10. 整理了近五年顶会都收录了哪些实体链接文章
  11. Java不适合于作为主要编程教学语言 -- 孟岩
  12. PR软件怎么去视频噪声
  13. 虚拟机桥接模式下设置桥接的网卡
  14. c语言 用斜率打印直线,圆锥曲线的解题技巧和方法2017完美打印版.doc
  15. 共码未来 | 2022 Google 谷歌开发者大会参会现场记
  16. SQL Server 端口映射访问方法
  17. 怎样测试IP 是否在
  18. app与后台的token、sessionId、RSA加密登录认证与安全解决方案
  19. 金刚手串或手持的颗数及说法
  20. 华为IRF之分布式链路聚合

热门文章

  1. 在Unity顶部显示手机状态栏(iOS/Android)
  2. Matlab Classification Learner
  3. 红孩儿编辑器的模块设计12
  4. 大牛揭秘:如何快速在阿里云搭建视频直播平台
  5. 古典恺撒移位密码破解
  6. NETSDK1045 当前 .NET SDK 不支持将 .NET 6.0 设置为目标。请将 .NET 5.0 或更低
  7. RecyclerView多种布局封装优化(雷惊风)
  8. app注册如何集成语音验证码功能?
  9. 阿里云ECS上CentOS关闭阿里云盾
  10. 修改java游戏分辨率怎么调_怎么修改jar游戏的分辨率