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 版本介绍
OpenGL ES 简介相关推荐
- 1、OPenGL ES - 简介、iOS中GLKit简单应用
OPenGL ES - 简介.iOS中GLKit简单应用 一.OPenGL ES 1.简介: OpenGL ES 是以手持和嵌入式为目标的高级的3D图形应用程序编程接口(API),OpenGL ES ...
- 【OpenGL ES】OpenGL ES简介
[参考-khronos]https://www.khronos.org/opengles/ 1.简介 OpenGL ES(OpenGL for Embeded System)是OpenGL(Open ...
- OpenGL ES简介(一)
摘要: 概述 在聊Android的View渲染流程中,通常会有一个比较核心的步骤:通过OpeGL ES接口调用GPU接口通知GPU绘制图形.其完整的流程:UI对象---->CPU处理为多维图形, ...
- OpenGL ES简介及几个相关重要概念
本文主要简述什么是OpenGLES,以及记录一下与OpenGLES相关的几个最重要的概念. 一.OpenGL ES是什么 OpenGL ES是使用在手机端和嵌入式里的3D图形应用程序编程接口,是跨平台 ...
- OpenGL ES EGL 简介
目录 一.EGL 简介 二.EGL 跨平台之 ANGLE 1.ANGLE 支持跨平台 2.ANGLE 支持渲染器 3.ANGLE 下载地址 三.EGL 坐标系 四.EGL 绘图步骤 五.猜你喜欢 零基 ...
- OpenGL ES入门(使用指南)
转载地址:https://www.ict528.com/wpozv3sz3srrtywpoq1qvuyqooqxz1usvwr2uqoo.html. OpenGL ES 入门 一.前言 OpenGL ...
- OpenGL ES EGL eglDestroyContext
目录 一. EGL 前言 二. EGL 绘制流程简介 三.eglDestroyContext 函数简介 四.eglDestroyContext 使用 四.猜你喜欢 零基础 OpenGL ES 学习路线 ...
- OpenGL ES EGL eglCreatePbufferSurface
目录 一. EGL 前言 二. EGL 绘制流程简介 三.eglCreatePbufferSurface 函数简介 1.eglCreatePbufferSurface 简介 2.eglCreatePb ...
- OpenGL ES EGL eglQueryContext
目录 一. EGL 前言 二. EGL 绘制流程简介 三.eglQueryContext 函数简介 四.eglQueryContext 使用 四.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : ...
最新文章
- Python3 reversed 函数
- 一个中等规模的七段数码数据库以及利用它训练的识别网络
- oracle设置表字段小写,将oracle中的字段和表名全部修改为小写
- 图解MySql命令行创建存储过程
- 利用Siri API开发的语音输入法Air Dictate出现
- pm961 mysql_Oracle GoldenGate学习之--异构平台同步(Mysql到Oracle)
- python redis pipeline使用方法_Redis中的管道Pipeline操作
- php 接口升级,PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [6] 版本升级接口开发...
- CentOS7.4搭建FTP服务器(vsftp)
- 整理了近五年顶会都收录了哪些实体链接文章
- Java不适合于作为主要编程教学语言 -- 孟岩
- PR软件怎么去视频噪声
- 虚拟机桥接模式下设置桥接的网卡
- c语言 用斜率打印直线,圆锥曲线的解题技巧和方法2017完美打印版.doc
- 共码未来 | 2022 Google 谷歌开发者大会参会现场记
- SQL Server 端口映射访问方法
- 怎样测试IP 是否在
- app与后台的token、sessionId、RSA加密登录认证与安全解决方案
- 金刚手串或手持的颗数及说法
- 华为IRF之分布式链路聚合
热门文章
- 在Unity顶部显示手机状态栏(iOS/Android)
- Matlab Classification Learner
- 红孩儿编辑器的模块设计12
- 大牛揭秘:如何快速在阿里云搭建视频直播平台
- 古典恺撒移位密码破解
- NETSDK1045 当前 .NET SDK 不支持将 .NET 6.0 设置为目标。请将 .NET 5.0 或更低
- RecyclerView多种布局封装优化(雷惊风)
- app注册如何集成语音验证码功能?
- 阿里云ECS上CentOS关闭阿里云盾
- 修改java游戏分辨率怎么调_怎么修改jar游戏的分辨率