WebGL,OpenGL和OpenGL ES三者的关系_特快仓鼠的博客
文章推薦指數: 80 %
OpenGL ES可以说是OpenGL为了满足嵌入式设备需求而开发一个特殊版本,是其一个子集;而WebGL,是为了网页渲染效果,将JavaScript和OpenGL ES 2.0结合 ...
WebGL,OpenGL和OpenGLES三者的关系
特快仓鼠
于 2020-08-2817:27:13 发布
6427
收藏
11
分类专栏:
opengl
文章标签:
opengl
webgl
版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_23034515/article/details/108283747
版权
opengl
专栏收录该内容
2篇文章
1订阅
订阅专栏
一、OpenGLES简介
在上一章中,我们介绍了OpenGL,知道了它是用于计算机图形绘制的编程接口标准,支持不同平台上的图形绘制,在计算机上发挥了重要作用。
后来,随着手机等移动设备性能的快速提高,人们已经不满足于将移动设备的应用止于通讯应用、记事等传统平面应用。
而越来越注重移动设备功能的多样化、娱乐化,手机3D游戏、GPS导航系统等代表了未来移动设备发展的方向。
基于这种情况,Khronos组织于2003年7月发布了专门针对于嵌入式设备图形开发的标准OpenGLES(OpenGLforEmbeddedSystems)。
二、WebGL简介
WebGL,是一项用来在网页上绘制和渲染复杂三维图形(3D图形),并允许用户与之交互的技术。
随着个人计算机和浏览器的性能越来越强,我们能够在Web上创建越来越精美、越来越复杂的3D图形。
从传统意义上来说,为了显示三维图形,开发者需要使用C或C++语言,辅以专门的计算机图形库,如OpenGL或Direct3D,来开发一个独立的应用程序。
现在有了WebGL,我们只需要向已经熟悉的HTML和JS中添加一些额外的三维图形学的代码,就可以在网页上显示三维图形了。
WebGL是内嵌在浏览器中的,不必安装插件和库就可以直接使用它。
三、三者关系
OpenGLES可以说是OpenGL为了满足嵌入式设备需求而开发一个特殊版本,是其一个子集;而WebGL,是为了网页渲染效果,将JavaScript和OpenGLES2.0结合在一起,通过增加OpenGLES2.0的一个JavaScript绑定得到。
基本关系如下图所示:
在实际应用过程中,前端的WebGL是通过JS语句,操作本地的OpenGL的部分接口,对于移动设备这是操作OpenGLES的接口,来实现页面的图形的渲染,WebGL只是绑定外面接口的一层,内部的一些核心内容,如着色器,材质,灯光等都是需要借助GLSLES语法来操作的。
三者的版本关系如下图所示:
四、三者区别
WebGL与其他OpenGL最大差别就是其可以通过HTML脚本本身实现Web交互式三维动画的制作,无需任何浏览器插件支持。
OpenGLES和OpenGL最大差别就是两者应用场景不一样,一个是计算机,一个是移动或嵌入式设备。
这种差别体现在两个方面:
窗口系统不一样。
OpenGLES是一个平台中立的图形库,在它能够工作之前,需要于一个实际的窗口系统关联起来,这一点OpenGL也是一样的。
但是OpenGL时代在不同平台上有不同的机制一关联窗口系统,在Windows上是wgl,在X-Window上市xgl,在AppleOS上是agl等。
而嵌入式市场的平台种类不计其数,单是学习各家手机操作系统的接口就是很大负担了,更不用说致力于支持各种尺寸平台的软件开发者,所以OpenGLES提供了WindowSurface的抽象,使得移植工作基本可以局限在重新实现一下建立窗口的过程。
这个窗口工具是EGL,全称:embeddedGraphicInterface,是OpenGLES和底层Native平台视窗系统之间的接口。
功能规模不一样。
嵌入式设备和移动设备追求的是高性能,因此OpenGLES相对OpenGL删减了一切低效能的操作方式,有高性能的决不留低效能的,即只求效能不求兼容性(和苹果的作风类似)。
典型的有:
没有double型数据类型,但加入了高性能的定点小数数据类型。
没有glBegin/glEnd/glVertex,只能用glDrawArrays/glDraw...............没有实时将非压缩图片数据转成压缩贴图的功能,程序必须直接提供压缩好的贴图
特快仓鼠
关注
关注
6
点赞
踩
11
收藏
打赏
0
评论
WebGL,OpenGL和OpenGLES三者的关系
一、OpenGLES简介在上一章中,我们介绍了OpenGL,知道了它是用于计算机图形绘制的编程接口标准,支持不同平台上的图形绘制,在计算机上发挥了重要作用。
后来,随着手机等移动设备性能的快速提高,人们已经不满足于将移动设备的应用止于通讯应用、记事等传统平面应用。
而越来越注重移动设备功能的多样化、娱乐化,手机3D游戏、GPS导航系统等代表了未来移动设备发展的方向。
基于这种情况,Khronos组织于2003年7月发布了专门针对于嵌入式设备图形开发的标准OpenGLES(O...
复制链接
CSDNAPP扫一扫
专栏目录
OpenGL,WebGL基于HTML5/WebGL的建模及构建3D场景
VR观察
07-24
375
webgl、OpenGL,WebGL,定义了一套API,能够允许在网页中的canvas标签中使用类似于OpenGL,实际上是一套基于OpenGLES2.0的3D图形API。
WebGL与three.js的基础,与openGL的关系
今天不学习~明天变垃圾~
12-07
1244
什么是WebGL
WebGL是一项可以在浏览器中流畅展示3D模型和场景的一种技术。
它使用JavaScript作为编程语言,调用浏览器支持的3D绘制函数,来实现3D模型和场景的展现。
浏览器为什么能绘制3D世界
因为浏览器实现了opengles的规范,这套规范可以直接使用指令操作显卡,使显卡渲染的3D世界,直接反应到浏览器中。
WebGL能做什么
游戏,家居,虚拟现实,城市地图,CAD制图等等。
...
参与评论
您还未登录,请先
登录
后发表或查看评论
OpenGL/webGL底层图元的绘制原理
郭宇的博客
12-05
2544
一、什么是图元
图元是基本的几何图形,图元是构成其他复杂图形的基本要素,比如:点、线段、、三角形、矩形、圆弧、圆角矩形、扇形等等。
这些图元可以构成其他的复杂图形,在底层被大量的调用执行。
注:比如业务层一个动画、一个复杂的图形,对于画直线函数的调用可能是成百上千次,甚至是成千上万次的,所以图元算法的优劣对性能的影响是非常大的。
二、什么是OpenGL
OpenGL的英文名称:OpenGraph...
DirectX和OPenGL与UE4、U3D、Webgl(ThreeJS)的关系
最新发布
蒙双眼看世界
04-08
2718
一、DirectX和OpenGL是图形渲染的API,对硬件层的一些封装,通过这套API应用层可以控制GPU进行图形的绘制渲染,使调用者无需关心CPU怎么调用GPU,GPU怎么分配内存,怎么异步处理代码等等。
DirectX是微软开发的,只能跑在Windows上面。
(DirectX并不是一个单纯的图形API,它是由微软公司开发的用途广泛的API,它包含有DirectGraphics(Direct3D+DirectDraw)、DirectInput、DirectPlay、DirectS...
OpenGL、OpenGLES、Canvas、WebGL概念梳理
Mr_JiaTao的博客
09-16
1299
如何学习OpenGL、Canvas、WebGL
当你开始思考你应该如何学习OpenGL、Canvas、WebGL的时候,相信你至少对相关的关键词了解过了,还不太清楚OpenGL、Canvas、WebGL是什么,个人建议是不要做过多思考,先看看相关的具体技术教程、资源文献、论坛帖子,随着时间的推移你自然会明白OpenGL、Canvas、WebGL等关键词指什么。
...
webgl与opengl的区别和联系
工程仿真及软件工程及超级计算
08-03
1191
WebGL和OpenGL的区别为:性质不同、插件支持不同、用途不同。
WebGL
WebGL的缩写为Web图形库。
它主要用于渲染二维图形和交互式三维图形。
它是可以与HTML5一起使用的JavascriptAPI。
它支持跨平台,并且仅以英语提供。
WebGL程序由用JavaScript编写的控制代码组成
1.WebGL是基于OpenGLES2.0的JavascriptAPI,而不是纯OpenGL(ES代表“嵌入式系统”)。
2.WebGL通过HTML5的Canvas来和DOM打交道。
WebGL和OpenGL的联系和区别
一碗老面的博客
01-04
7153
WebGL和OpenGL的区别为:性质不同、插件支持不同、用途不同。
WebGL
WebGL的缩写为Web图形库。
它主要用于渲染二维图形和交互式三维图形。
它是可以与HTML5一起使用的JavascriptAPI。
它支持跨平台,并且仅以英语提供。
WebGL程序由用JavaScript编写的控制代码组成
1.WebGL是基于OpenGLES2.0的JavascriptAPI,而不是纯OpenGL(ES代表“嵌入式系统”)。
2.WebGL通过HTML5的Canvas来和DOM
openGL与openGLES的区别
痞子龙3D编程
01-29
9783
OpenGL与OpenGL-ES简介
OpenGL
是由SGI公司开发的一套3D图形软件接口标准,由于具有体系结构简单合理、使用方便、与操作平台无关等优点,OpenGL迅速成为一种3D图形接口的工业标准,并陆续在各种平台上得以实现。
作为一个性能优越的图形应用程序设计界面(API)而适合于广泛的计算环境,从个人计算机到工作站和超级计算机,OpenGL都能实现高性能的三维图形功能。
由于
OpenGLES与OpenGL的区别
把握自己。
08-04
9594
OpenGLES概述
本文对OpenGLES做了综合性的介绍,包括OpenGLES的由来、主要版本及其特点、OpenGLES与OpenGL的主要区别等等。
简介2
OpenGL_ES是khronos协会从OpenGL裁剪定制而来的,专为手机,游戏机等嵌入式设备而设计。
它的接口其实和OpenGL很类似。
OpenGL_ES有几
HTTPS、SSL、TLS三者之间的联系和区别
热门推荐
EnweitechSoftwareWorks
08-17
21万+
SSL(SecureSocketLayer安全套接层)是基于HTTPS下的一个协议加密层,最初是由网景公司(Netscape)研发,后被IETF(TheInternetEngineeringTaskForce-互联网工程任务组)标准化后写入(RFCRequestForComments请求注释),RFC里包含了很多互联网技术的规范!
起初是因为HTTP在传输数据时使用的是明...
《WebGL编程指南》WebGL简介
xx笔记
03-24
1011
WebGL概述
WebGL,是一项用来在网页上绘制和渲染复杂三维图形,并允许用户与之进行交互的技术。
WebGL程序的结构
WebGL页面包含了三种语言:HTML5、JavaScript、GLSLES(openGL着色器语言)。
如下图所示:
WebGL和OpenGL
WebGL的技术规范继承自免费和开源的OpenGL标准,而OpenGL是一种用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口,是在个人计算机上使用最广泛的两种三维图形渲染技术之一,另一种是Direct3D。
在某种意义上,WebG
OpenGL、OpenGLES、WebGL、three.js、OpenCV关系
weixin_38583125的博客
04-20
250
OpenCV:计算机视觉,由图像到数据。
OpenGL(OpenGraphicsLibrary):计算机图形学,由数据到图像。
OpenGLES:是OpenGL的子集,专门针对手机/PDA(掌上电脑,如:条形扫码器,POS机等)/游戏主机等嵌入式设备设计的。
WebGL:WebGL是基于OpenGLES2.0的JavascriptAPI。
通过HTML5的Canvas来和DOM打交道。
three.js:WebGL的一个库。
由底层到顶层:
计算机图形学理论
【前端可视化】OpenGL/WebGL入门和实践
奇舞周刊
10-22
1万+
作者:窦金兰—字节跳动IES前端工程师希望通过这篇文章,大家能够对OpenGL/WebGL有一个基础的认识~~OpenGL定义OpenGL是一套规范,...
各类三维引擎综合概述(OpenGL、DirectX、WebGL、UE4、U3D、ACIS、ParaSolid)
youlinhuanyan的博客
04-04
8508
关于OpenGL、DirectX、OpenCV
OpenCV
OpenCV是OpenSourceComputerVisionLibrary主要是提供图像处理和视频处理的基础算法库,还涉及一些机器学习的算法。
比如你想实现视频的降噪、运动物体的跟踪、目标(比如人脸)的识别这些都是CV的领域。
它是可以运行在Linux、Window、和MacOS操作系统上,它是轻量级而且很高效的。
OpenGL
OpenGL是OpenGraphicsLibrary是个定义了一个跨编程语言、跨平台的编程接口规格
WebGL基础笔记
HeyCChen的博客
01-28
703
WebGL
WebGL是什么:WebGL(WebGraphicsLibrary)是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGLES2.0结合在一起,通过增加OpenGLES2.0的一个JavaScript绑定,WebGL可以为HTML5Canvas提供硬件3D加速渲染
GPU≠WebGL≠3D
WebGL很大程度上在和GPU打交道但不仅仅是GPU渲染
WebGL不仅仅是绘制3D,把浏览器作为一个桥梁,是浏览器上的Op
opengl/webgl的性能优化
LiMinghua的专栏
10-27
826
1.避免在shader中做逻辑判断,比如ifelse。
有的人可能会很疑惑,为何要这样?这和GPU的基本调度有关系,GPU的基本调度单位叫做wavefront,就是指一组完全相同的计算指令,在GPU的几个计算单元中并行执行,每一个指令的输入数据不同而已。
这样并行度很高,可以极大程度提高性能。
但是一旦引入ifelse,就会把wavefront破坏掉,比如现在有10个计算单元在并发执行,但是碰到if,在5个计算单元中为true,在5个计算单元中为false,这样会造成新的计...
OpenGLES/OpenGL区别
我在这里
06-05
1万+
关于OPENGL1.x与OPENGLES1.x的区别早先定义OpenGLES是OpenGL的嵌入式设备版本,但由于嵌入式设备要求的是高性能,所以一些其它纯追求高性能的设备也开始用这种API方式,比如SONYPlayStation3。
OpenGLES相对OpenGL删减了一切低效能的操作方式,有高性能的决不留低效能的,即只求效能不求兼容性(和苹果的作风类似)。
典型
有关于OpenGL、OpenGLES、WebGL的小结
smsmn的专栏
09-28
8743
一. OpenGL简介
OpenGL(全写OpenGraphicsLibrary)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图西象(二维的亦可)。
OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。
WebGLOpenGLCanvas的区别
LANGZI7758521的专栏
08-17
2544
OpenGL是底层的驱动级的图形接口(是显卡有直接关系的)类似于DirectX
但是这种底层的OpenGL是寄生于浏览器的JavaScript无法涉及的
但是为了让Web拥有更强大的图形处理能力2010年时候WebGL被推出来
WebGL允许工程师使用JS去调用部分封装过的OpenGLES2.0标准接口去提供硬件级别的3D图形加速功能
三者的关系是JavaScript-&g...
OpenGL、WebGL、H5
UI设计小站
04-28
1万+
OpenGL(全写OpenGraphicsLibrary)
是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。
它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。
OpenGL™是行业领域中最为广泛接纳的2D/3D图形
API,其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。
OpenGL™是独立于视窗操作系统或其它操作系统的,
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022CSDN
皮肤主题:大白
设计师:CSDN官方博客
返回首页
特快仓鼠
CSDN认证博客专家
CSDN认证企业博客
码龄8年
暂无认证
21
原创
7万+
周排名
5万+
总排名
7万+
访问
等级
843
积分
18
粉丝
45
获赞
13
评论
197
收藏
私信
关注
热门文章
WebClient,HttpClient,HttpWebRequest的比较
10701
Ubuntuserver网络配置
8341
Centos系统安装踩坑
6537
WebGL,OpenGL和OpenGLES三者的关系
6406
Qgis+python开发环境配置和简单教程
5126
分类专栏
SUMO
1篇
opengl
2篇
系统
3篇
GIS
10篇
数据库
4篇
随笔
最新评论
Qgis+python开发环境配置和简单教程
有烦恼不高兴1005:
您好,我也遇到这个问题了,请问您是怎么解决的呀
Qgis+python开发环境配置和简单教程
特快仓鼠:
确认下anaconda的环境,可能有多个python环境;pycharm里面配置anaconda的环境也检查下,看看配置完的库列表里面有没有qgis.
Qgis+python开发环境配置和简单教程
qq_32786731:
大佬我在anaconda里用conda装了qgis但是在pycharm里导入qgis报错;我用cmd打开我装qgis的环境导入qgis就不报错,是什么情况
Qgispython开发简单入门
qq_21611973:
博主你好,我在pycharm里设置好了环境后fromqgis.coreimport*没问题,但是引入processing包就提示Nomodulenamed'processing',主要是想调用procesing下面的方法处理数据。
但是同样的代码在anaconda里配置好QGIS环境用CMD控制台运行就可以,在pycharm里把环境改成anconda的环境还是不行。
基于pycharm的QGIS-API调用方法
起飞的木木:
此文确实妙
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
Qgis中求线段中点坐标
neo4j多数据库并行运行实现
关于在pycharm中调用gdal库时引发code-1073740791错误而退出问题的解决
2022年4篇
2021年3篇
2020年6篇
2019年9篇
目录
目录
分类专栏
SUMO
1篇
opengl
2篇
系统
3篇
GIS
10篇
数据库
4篇
随笔
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
特快仓鼠
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:--)
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值
延伸文章資訊
- 1WebGL 和OpenGL ES 有什么区别? - 知乎
其实我对OpenGL ES没有接触。所以只能粗浅作答。 OpenGL ES最初是作为OpenGL的一个subset支持移动设备和嵌入式设备开发。就我猜想,可能最初两者的兼容性和可移植性是 ...
- 2WebGL 入門- Web APIs | MDN
WebGL 讓網頁內容能藉由一種基於OpenGL ES 2.0 的API 的幫助,於支援此API 的瀏覽器環境中,不需使用外掛程式就能在HTML 的canvas 元素中實現二維及 ...
- 3WebGL,OpenGL和OpenGL ES三者的关系_特快仓鼠的博客
OpenGL ES可以说是OpenGL为了满足嵌入式设备需求而开发一个特殊版本,是其一个子集;而WebGL,是为了网页渲染效果,将JavaScript和OpenGL ES 2.0结合 ...
- 4【前端視覺化】 OpenGL / WebGL 入門和實踐
OpenGL ES 是OpenGL 的子集,專門針對手機/PDA(掌上電腦,如: 條形掃碼器,POS機等)/遊戲主機等嵌入式裝置設計的。OpenGL ES 主要直接提供C api,各自平臺 ...
- 5Differences between WebGL and OpenGL - Stack Overflow
WebGL is a cross-platform, royalty-free web standard for a low-level 3D graphics API based on Ope...