WebGL是一个基于OpenGL的JavaScriptAPI库,它允许网络浏览器在浏览器中渲染3D/2D图形,而无需安装额外的插件、桌面应用程序。WebGL允许使用机器的GPU通过浏览器将3D图形呈现为HTML页面。目前大多数浏览器都支持WebGL,例如GoogleChrome、MozillaFirefox和Safari。可以通过浏览器设置或使用特殊插件禁用或启用WebGL。WebGL框架和库用于创建交互式显示、基于网络的游戏、可视化、虚拟现实(VR)和混合现实(MR)应用程序。WebGL用于游戏、工程、数据分析、地理空间分析、科学和医学可视化与模拟等多个行业。Three.jsJavaScript3DWebGL库Three.js是最著名的3DWebGLJavaScript库,成千上万的开发者使用它制作基于WebGL的游戏、模型、网站。它有数百个演示和示例、丰富的教程库和强大的社区。Three.js被用作许多WebGL图形引擎和几个浏览器就绪游戏引擎的基础。它有一个强大的轻量级在线编辑器。Babylon.jsWeb3D图形引擎Babylon.js是一个强大、简单、开放的游戏和渲染引擎,封装在一个友好的JavaScript框架中。Babylon.js是一个简单但功能强大的WebGL驱动的3D图形引擎,它为JavaScript开发人员提供了一个简单的API以及大量的文档和教程。可用于构建交互式3D显示/演示、3D网络产品演示、游戏、VR(虚拟现实)应用程序和复杂的建筑模拟。Babylon.js有一个非常庞大的开发者社区,提供代码片段、教程,当然还有可重用的扩展来扩展其核心功能。FilamentGoogle的移动优先WebGL框架Filament是一个用C++编写的基于物理的实时渲染器。它是移动优先的,也是多平台的。Filament是为网络构建的开源WebGL实时3D渲染器。它使用C++,旨在成为移动优先的3D平台。Filament由Google作为其开源项目的一部分开发和发布。虽然它针对多个平台(Android、iOS、Linux、macOS和Windows)以移动为中心,但在开发人员中并不流行。这是一个相当新的库,但随着时间的推移,它可能会引起游戏开发人员的注意。KickJSWeb的开源图形和游戏引擎KickJS是一个开源(BSD许可)WebGL游戏引擎和为现代网络浏览器构建的3D网络图形库。它为新开发人员提供了一个简单的学习曲线,因为它带有丰富而清晰的文档、教程和几个游戏示例。作为游戏引擎,KickJS支持鼠标、键盘和游戏手柄控制器。它为开发人员提供了多种工具,包括着色器编辑器、模型工具、扩展查看器以及一些代码简洁的游戏示例。使用ClayGL构建可扩展的Web3D应用程序ClayGL是一个Web3D图形库,用于构建3DWeb就绪应用程序,例如在真实地理地图上绘制交互式3D街道地图。ClayGL作为开源项目提供。用于网络的PlayCanvas游戏和3D图形引擎PlayCanvas是一个轻量级的全功能3D网络游戏和图形引擎。它是开发人员最喜欢的WebGL3D游戏引擎。它有一个令人印象深刻的功能列表,为游戏开发人员提供了构建网络优先、图形丰富的游戏所需的一切。PlayCanvas被许多游戏开发者使用,市场上有几款成功的游戏。PlayCanvas不仅为游戏而生,还可用于构建AR(增强现实)和VR(虚拟现实)应用程序。WebGLStudio.js开源Web3D图形编辑器和创建器WebGLStudio是一个开源的高级3DWebGL基于Web的编辑器。使用WebGLStudio,可以导出包含所有信息的JSON文件并在LiteScene中使用它。WebGLStudio.js可以直接从浏览器创建交互式3D场景,并允许对场景进行直观的编辑。Litescene.js开源Web3D图形编辑器和创建器Litescene.js是一个简单而强大的WebGL库,提供基于组件的节点层次结构,它提供简单的JSON代码,易于嵌入到Web项目和WebGLStudio中。使用的js编辑器。Litescene.js使用它自己的迷你库“Litegl.js”来扭曲WebGL组件,通过创建用于管理不同项目(例如缓冲区、网格、纹理、着色器)和任何WebGL应用程序的其他常见方面的类,使其更方便使用的。LumaUber的3DWebGL可视化库Luma是一个开源的高性能WebGL2组件,用于GPU驱动的数据可视化和计算。它由Uber作为开源项目发布和维护。A-Frame用于构建VR(虚拟现实)体验的Web框架A-Frame是用于构建虚拟现实(VR)应用程序的开源WebGL框架。它被迪士尼、谷歌、Mozilla、NASA、三星、索尼和丰田等世界顶级公司使用。它相当容易使用,因为它对于有经验的人和初学者来说也很容易学习。A-Frame可以运行在Vive、Rift等VR平台、MozillaFirefox、GoogleChrome等浏览器以及智能手机上,性能流畅。X3DOM在任何Web项目中构建和嵌入3D元素X3DOM是一个WebGL框架,用于为网站和Web应用程序构建可嵌入的3DWeb就绪图形。它提供了可以添加到任何HTML5项目的简单标记代码。X3DOM将3D内容无缝集成到您的网页中,场景直接用HTML标记编写。无需插件。只需包含一个JavaScript文件。免费用于非商业和商业目的。Grimoire.jsWebGLWeb开发框架Grimoire.js是一个用于构建3DWeb应用程序的开源WebGL框架,旨在搭建Web工程师和CG工程师之间的桥梁。PixiJSHTML5创建引擎PixiJS是一个2D/3D网络图形引擎,可以简化为网络创建令人惊叹的交互式图形应用程序的过程。它是一个模块化引擎,可以通过插件轻松扩展,深受网络开发人员、2D游戏创作者以及谷歌、BBC、大众、HBO、Adobe和迪士尼等大公司的青睐。最适合创建交互式和复杂的2D可视化、2D游戏和产品演示。SceneJSSceneJS是一个基于WebGL的开源(已停产)图形引擎,用于高度详细的3D可视化。它是保持生物数字人类项目运转的核心引擎。虽然该项目已经停止并且BioDigitalHuman使用经过大量修改的版本(非开源),但旧存储库已存档用于WebGL教育目的。SceneJS团队发布了一个新库作为生产就绪库XeoGL。XeoGLSceneJS继任者XeoGL是SceneJS的继任者,由相同的开发人员作为数据驱动的WebGL图形引擎发布,其中包含多种工具,旨在更轻松地将CAD/3D集成到Web项目中。它旨在提供一种工具来构建可在现代浏览器中流畅运行的复杂3DWebGL图形。CurtainsJSJavaScriptWebGL动画库CurtainsJS是一个开源的WebGL库,旨在为网页提供基于WebGL的动画。它不是图形引擎,也不是游戏引擎,而是基于3D动画和事件的图形库。它使用WebGL渲染库将基于HTML的元素转换为3D动画对象。PhiloGLPhiloGL是一个WebGLJavascript框架,用于构建用于数据可视化、创意编码和游戏开发的交互式3D复杂图形应用程序。它可以与其他库一起使用,因为它与库无关。这是SenchaLabs在MIT许可下发布的开源项目。基于WebGL的3D可视化编辑器Sovit3DSovit3D是一个物联网可视化PaaS开发平台,基于JavaScript语言3D图形引擎,为Web可视化提供丰富的表现形式和视觉效果,帮助软件开发公司和解决方案提供商轻松构建3D可视化界面。平台专注于工业数字孪生生产管控、智慧城市监控运维等视觉应用领域。产品模块化配置形式,满足全要素智慧场景建设。广泛应用于电力能源、水利、物联网、工业互联网、智慧城市、智慧医疗、智慧农业、IT运维等各个领域。Sovit3D平台采用B/S架构,基于WebGL绘图技术标准,提供基于Web浏览器的3D可视化行业组件,支持HTML5/SVG等最新技术,可在浏览器上轻松浏览和调试。为开发者打造符合用户习惯的大屏可视化应用,包括2D图表分析、3D建筑实景、3D工业设备模型等命令下发等功能。
