写点什么

WebGL 入门之基于 WebGL 的 Sovit3D 可视化平台

  • 2022-11-29
    湖南
  • 本文字数:1211 字

    阅读完需:约 4 分钟

WebGL入门之基于WebGL的Sovit3D可视化平台

定义

WebGL(Web Graphics Library)是一个 JavaScript API,用于在任何兼容的 Web 浏览器中渲染高性能交互式 3D 和 2D 图形,而无需使用插件。WebGL 通过引入一个非常符合 OpenGL ES 2.0 的 API 来实现这一点,该 API 可以在 HTML 元素中使用。这种一致性使 API 可以利用用户设备提供的硬件图形加速。WebGL 完全集成到浏览器的所有 Web 标准中,允许 GPU 加速使用图像处理和效果作为网页画布的一部分。WebGL 元素可以与其他 HTML 元素嵌入,并与页面的其他部分合成。



WebGL 是一个跨平台的开放 Web 标准,用于基于 OpenGL ES 的低级 3D 图形 API,通过 HTML5 Canvas 元素向 ECMAScript 公开。熟悉 OpenGL ES 2.0 的开发人员使用 GLSL 将 WebGL 识别为基于 Shader 的 API,其构造在语义上与底层 OpenGL es API 的构造相似。它非常接近 OpenGL ES 规范,对开发人员对内存管理语言(如 JavaScript)的期望做出了一些让步。WebGL 1.0 公开了 OpenGL ES 2.0 功能集;WebGL 2.0 公开了 OpenGL ES 3.0 API。

设计

WebGL 1.0 基于 OpenGL ES 2.0.为 3D 图形提供了 API。[5] 它使用 HTML5 canvas 元素,并使用文档对象模型 (DOM) 接口进行访问。


WebGL 2.0 基于 OpenGL ES 3.0.保证了 WebGL 1.0 的许多可选扩展的可用性,并公开了新的 API。


自动内存管理作为 JavaScript 语言的一部分提供。与 OpenGL ES 2.0 一样,WebGL 没有 OpenGL 1.0 中引入并在 OpenGL 3.0 中弃用的固定函数 API。此功能可以改为由用户通过在 JavaScript 中提供着色器代码和配置数据绑定来提供。



WebGL 中的着色器直接在 GLSL 中表示,并作为文本字符串传递给 WebGL API。WebGL 实现将这些着色器指令编译为 GPU 代码。此代码针对通过 API 发送的每个顶点以及栅格化到屏幕的每个像素执行。

历史

WebGL 是从 Vladimir Vukićević在 Mozilla 开始的 Canvas 3D 实验演变而来的。Vukićević在 2006 年首次展示了 Canvas 3D 原型。到 2007 年底,Mozilla 和 Opera 都已经完成了自己的独立实现。


2009 年初,非营利性技术联盟 Khronos Group 成立了 WebGL 工作组,最初来自 Apple,Google,Mozilla,Opera 等。WebGL 规范的 1.0 版本于 2011 年 3 月发布。截至 2012 年 3 月,工作组主席是肯·罗素。


WebGL 的早期应用包括 Zygote Body。2012 年 11 月,欧特克宣布将大部分应用程序移植到运行在本地 WebGL 客户端上的云中。这些应用程序包括 Fusion 360 和 AutoCAD 360.WebGL 2 规范的开发始于 2013 年,最终于 2017 年 1 月完成。本规范基于 OpenGL ES 3.0.第一个实现是在 Firefox 51.Chrome 56 和 Opera 43 中。

应用

Sovit3D 可视化开发平台采用 B/S 架构,基于 WebGL 绘图技术标准,提供基于纯 HTML5(Canvas/WebGL)的标准 Web 技术,可方便的在浏览器上进行浏览和调试,满足了工业物联网跨平台云端化部署实施的需求,从组件库到 2D、3D 组态工具,再到行业矢量图标和三维模型模板资源库,构成了一站式的数据可视化解决方案,可快速实现现代化的、智能化的、跨平台的图形展示效果及交互体验。为 Web 可视化提供了丰富的展现形式和视觉效果,帮助软件开发公司、解决方案提供商轻松搭建 3D 可视化场景。




用户头像

还未添加个人签名 2022-06-30 加入

还未添加个人简介

评论

发布
暂无评论
WebGL入门之基于WebGL的Sovit3D可视化平台_数据可视化_2D3D前端可视化开发_InfoQ写作社区