webgl与opengl的区别和联系

WebGL和OpenGL的区别为:性质不同、插件支持不同、用途不同。

WebGL
WebGL的缩写为Web图形库。它主要用于渲染二维图形和交互式三维图形。它是可以与HTML5一起使用的Javascript API。它支持跨平台,并且仅以英语提供。WebGL程序由用JavaScript编写的控制代码组成

1.WebGL 是基于 OpenGL ES 2.0 的 Javascript API,而不是纯OpenGL(ES代表“嵌入式系统”)。

2.WebGL通过 HTML5 的 Canvas 来和 DOM 打交道。因此也和 OpenGL ES 2.0 一样,使用 GLSL 作为 Shading Language (一种 C-Like 顶点计算和着色的语言,缓存编译到 GPU,由 GPU 来执行)。

3.WebGL 2.0基于OpenGL ES 3.0,确保了提供许多选择性的WebGL 1.0扩展,并引入新的API。

OpenGL
OpenGL被称为开放图形库。它被称为跨语言和平台应用程序编程接口,用于呈现二维和三维矢量图形。

OpenGL提供了许多功能,例如扩展。

1.OpenGL ES本质上是OpenGL的一个子集。

2.OpenGL_ES是khronos协会从OpenGL裁剪定制而来的,专为手机,游戏机等嵌入式设备而设计。它的接口其实和 Open GL很类似。

3.OpenGL ES相对OpenGL删减了一切低效能的操作方式,有高性能的决不留低效能的,即只求效能不求兼容性。

主要区别:
WebGL基于OpenGL ES,它缺少常规OpenGL具有的许多功能,例如仅支持顶点和片段着色器。OpenGL具有WebGL所不具备的功能,例如几何体着色器,镶嵌细分着色器和计算着色器。
WebGL主要用于浏览器。OpenGL确实需要本机驱动程序,并且主要用于安装软件。
WebGL用于Web应用程序,而OpenGL用于许多视频游戏。
WebGL更易于学习和开发应用程序。如果您熟悉WebGL,则可以轻松学习OpenGL。
在WebGL中,它可以使用2D纹理来伪造3D纹理。在OpenGL中,不需要这样做,因为它具有很多功能,例如几何和着色器。
在WebGL中,从一开始就必须学习使用着色器和缓冲区。在OpenGL中,并非如此。
WebGL具有较少的功能,因此学习曲线较少。OpenGL具有更大的学习曲线,因为它具有包括WebGL在内的许多功能。
WebGL基于OpenGL ES 2,而不是纯OpenGL。OpenGL ES是OpenGL的子集。OpenGL ES具有较少的功能,并且对用户来说非常简单。OpenGL具有很多功能并且难以使用。
————————————————
版权声明:本文为CSDN博主「一碗老面i」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_29808089/article/details/112169991

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值