WebGL开源框架列举概述
一、概述
WebGL是基于OpenGL的JavaScript API /库,允许Web浏览器在浏览器中渲染3D / 2D图形,而无需安装额外的插件,桌面应用程序,任何第三方插件或浏览器扩展。WebGL允许通过浏览器使用机器GPU将3D图形渲染为HTML页面。目前,大多数现代网络浏览器(例如Google Chrome,Mozilla Firefox和Safari)都支持WebGL。可以通过浏览器设置或使用特殊插件来禁用或启用WebGL。WebGL框架和库用于创建交互式展示,基于浏览器的游戏,详细的科学和医学可视化/模拟,虚拟现实(VR)和混合现实(MR)应用程序。WebGL已在游戏,工程,数据分析,地理空间分析,科学和医学可视化与模拟等多个行业中使用。
特点:
· 只需要网页浏览器
· 适用于现代浏览器
· 不需要额外的插件或浏览器扩展
· 在移动浏览器上工作
二、常见框架
1、Three.js:JavaScript 3D WebGL库
Three.js是此列表中最著名的3D WebGL JavaScript库,成千上万的开发人员将其用于基于WebGL的游戏,模拟甚至网站。它具有简单的学习曲线,数百个演示和示例,丰富的教程库以及强大的社区。Three.js用作许多WebGL图形引擎和几个支持浏览器的游戏引擎的基础。它具有功能强大的轻量级在线编辑器。Three.js用于许多游戏,科学和医学可视化。它用作2个WebGL医学DICOM可视化框架的基础。
特点:
- 在线编辑
- 易学曲线
- 大型社区
- 用作多个WebGL游戏和图形引擎的基础
2、Cesium
Cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎。Cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区域,并提供良好的触摸支持,且支持绝大多数的浏览器和mobile。
3、Babylon.js:Web3D图形引擎
Babylon.js是一个功能强大,美观,简单且开放的游戏和呈现引擎,打包在一个友好的JavaScript框架中。Babylon.js是一个简单但功能强大的WebGL驱动的3D图形引擎,它为JavaScript开发人员提供了简单易学的曲线,简单的API以及丰富的文档和教程列表。它可用于构建交互式3D展示/演示,3D Web就绪的产品演示,游戏,VR(虚拟现实)应用程序以及复杂的体系结构仿真。Babylon.js有很多开发人员社区,他们提供其代码片段,教程清单,当然还有可重用的扩展,以扩展其核心功能。
特点:
- 在线编辑
- 易于设置
- 丰富的例子列表
- 支持JavaScript和TypeScript
- 丰富的摘要库
- 模块化并包含许多有用的扩展
- 可扩展的模块化在线查看器
- 功能丰富的引擎
- GUI工具
4、长丝:谷歌移动优先的WebGL框架
Filament是为Web构建的开源WebGL实时3D渲染器,是一款Google开发的跨平台的实时渲染引擎,支持PBR材质,并且针对Android平台做了优化(毕竟Google亲儿子)。它使用C ++旨在成为移动优先的3D平台。Filament由Google开发和发布,作为其开源项目的一部分。尽管它以移动设备为目标针对多平台(Android,iOS,Linux,Mac OSX和Windows),但它在开发人员中并不流行。这是一个相当新的库,但随着时间的流逝,它可能会引起游戏开发人员的注意。
特点:
- 移动优先(Android / iOS)WebGL物理和3D图形引擎
- 支持Windows,Linux和Mac OSX
- 材质渲染
- 为最佳性能而构建的C ++
5、KickJS:Web的开源图形和游戏引擎
KickJS是开放源代码(BSD许可)的WebGL游戏引擎和为现代Web浏览器构建的3D Web图形库。对于新开发者来说,它具有简单的学习曲线,因为它附带了丰富的清晰文档,教程和一些游戏示例。作为游戏引擎,KickJS支持鼠标,键盘和游戏手柄控制器。它为开发人员提供了多种工具,包括着色器编辑器,模型工具,扩展查看器以及一些带有清晰代码的游戏示例。
特点:
Collada DAE和Wavefront OBJ模型
内置着色器
持久性模型
查看视锥剔除
阴影贴图
采摘
渲染到纹理
天空盒
电影纹理
方向灯,点光源和环境光
事件队列
键盘和鼠标输入
序列化
上下文丢失处理
6、ClayGL:构建可扩展的Web3D应用程序
ClayGL是一个Web 3D图形库,用于构建支持3D Web的应用程序,例如在真实的地理地图上绘制交互式3D街道地图。ClayGL可作为开源项目使用。
- 特点:
- 轻巧的
- 缩放图形
- 可配置高质量的图形
- 支持缩放
- 高级Web查看器(Clay Viewer)
- 易于启动和学习,易于使用和学习
- 具有高度详细的图形以及先进而详细的材料
- 丰富的示例集。
7、PlayCanvas:网络游戏和3D图形引擎
PlayCanvas是一款轻巧的功能齐全的3D网络游戏和图形引擎。它是开发人员中最喜欢的WebGL 3D游戏引擎。它具有令人印象深刻的功能列表,可为游戏开发人员提供构建网络优先的图形丰富游戏所需的一切。PlayCanvas被许多游戏开发商使用,市场上有几款成功的游戏。PlayCanvas不仅用于游戏,还可以用于构建AR(增强现实)和VR(虚拟现实)应用程序。
特点:
- 轻巧的
- 快速加载
- 移动浏览器支持
- 基于Web的图形编辑器
- AR(增强现实)和VR(虚拟现实)应用
- 带编辑器的GPU粒子引擎
- 静态,蒙皮和变形网格
- Maya,3DS Max,Blender的完整模型导出管道
- 强大的音频库
- 与3D刚体物理引擎ammo.js完全集成
- 输入:鼠标,键盘,触摸,游戏板,VR
- 丰富的API文档
- 带有源代码的几个游戏示例
8、WebGLStudio.js和Litescene.js:开源Web 3D图形编辑器和创建器
Litescene.js是一个简单但功能强大的WebGL库,它提供了基于组件的节点层次结构,它提供了简单的JSON代码,该代码易于嵌入到Web项目中并在WebGLStudio.js编辑器中使用,该编辑器是基于Web的开源高级3D WebGL编辑。使用WebGLStudio,您可以导出包含所有信息的JSON文件,并在LiteScene中使用它。Litescene.js使用其自己的微型库“ Litegl.js”来扭曲WebGL组件,从而通过创建用于管理不同项(例如Buffer,Mesh,Texture,Shader和任何WebGL应用程序的其他常见方面)的类,使WebGL组件更加用户友好。
特点:
- 易学曲线
- 强大的在线
- 基于组件的节点系统
- 逼真的渲染管线,它支持所有属性的阴影,反射,纹理等
- 自动计算最佳着色器的材质系统,使其易于控制属性
- 资源管理器以加载和存储任何类型的资源(纹理,网格等)
- 序列化方法以将任何场景转换为JSON
- 解析器用于最常见的文件格式
- 容易嵌入
9、 Luma:Uber的3D WebGL可视化库
Luma是一个开源高性能WebGL2组件,用于GPU驱动的数据可视化和计算。它由Uber作为开放源项目发布和维护。它正在不断更新,它被用作2个框架的核心WebGL引擎:Kepler.gl是与数据无关的高性能基于Web的应用程序,用于可视化大规模地理定位数据集。
特点:
- 适用于地理空间数据(大型数据集)可视化
10、A-Frame是用于构建VR(虚拟现实)体验的Web框架
A-Frame是用于构建虚拟现实(VR)应用程序的开源WebGL框架。迪士尼,谷歌,Mozilla,NASA,三星,索尼和丰田等世界顶级公司都在使用它。它非常易于使用,因为它对于经验丰富的初学者来说也很容易学习。A-Frame可在Vive,Rift等多个VR平台上正常运行,并在桌面上使用Mozilla Firefox,&Google Chrome等现代浏览器以及性能稳定的手机。
特点:
- 专为虚拟现实(VR)和混合现实(MR)设计
- 在Mozilla Firefox和Google Chrome上表现良好
- 在手机上工作
- 适用于许多VR平台
- 大公司和品牌在其VR / MR项目中使用
11、X3DOM:在任何Web项目中构建和嵌入3D元素
X3DOM是一个WebGL框架,用于为网站和Web应用程序构建可嵌入3D Web的图形。它提供了可以添加到任何HTML5项目中的简单标记代码。
特点:
- 易于使用
- 准备嵌入任何HTML项目
- 简单的可嵌入代码
- 适用于许多浏览器,包括旧版IE和现代浏览器,例如Google Chrome,Firefox,Safari
- 在移动浏览器(Safari IiOS),谷歌浏览器和Mozilla Firefox上均可正常运行
- 可以在Python服务器或IIS Windows服务器上运行
WebGL开源框架列举概述相关推荐
- 基于MVS的三维重建算法学习笔记(一)— MVS三维重建概述与OpenMVS开源框架配置
基于MVS的三维重建算法学习笔记(一)- MVS三维重建概述与OpenMVS开源框架配置 声明 1. MVS(Multi-view stereo)概述 稀疏重建与稠密重建的区别 稀疏重建--SFM(S ...
- python框架大全_常用的Python开源框架有哪些?列举这3个
随着人工智能快速发展,不仅在各个领域应用日益广泛,同时也引发了教学内容的变革和创新.人工智能的火热得益于成功的开源以及深度学习框架的不断涌现.而Python作为一种脚本语言,具有易学.易维护等优点,它 ...
- Android_开源框架_Volley实例
2019独角兽企业重金招聘Python工程师标准>>> 1.自定义相关类 在 Android_开源框架_Volley(Google IO 2013)源代码及内部实现过程分析一文中,简 ...
- 各种SmartPhone上的跨平台开源框架的总结
目前SmartPhone的开发语言 Apple iPhone Objective-C C/C++ Google Android JAVA 可以使用NDK进行C/C++的开发 Windows Phone ...
- 【完结】12大深度学习开源框架(caffe,tf,pytorch,mxnet等)快速入门项目
这是一篇总结文,给大家来捋清楚12大深度学习开源框架的快速入门,这是有三AI的GitHub项目,欢迎大家star/fork. https://github.com/longpeng2008/yousa ...
- 【完结】给新手的12大深度学习开源框架快速入门项目
文/编辑 | 言有三 这是一篇总结文,给大家来捋清楚12大深度学习开源框架的快速入门,这是有三AI的GitHub项目,欢迎大家star/fork. https://github.com/longpen ...
- 【NLP】FedNLP: 首个联邦学习赋能NLP的开源框架,NLP迈向分布式新时代
文 | 阿毅 两周前,南加大Yuchen Lin(PhD student @USC and ex-research intern @GoogleAI)所在的团队在Twitter官宣开源首个以研究为导向 ...
- aop拦截mybatis执行sql_Java进阶架构之开源框架面试题系列:Spring+SpringMVC+MyBatis
开源框架 Spring5 Framework体系结构 spring5概述 Spring5环境搭建 Spring MVC AOP源码解析 IOC源码解析 Mybatis spring 什么是Spring ...
- Android常用开源框架
快速索引 框架名称 上榜关键字 1.Retrofit 网络 2.okhttp 网络 3.Butter Knife 代码模板 4.MPAndroidChart 图表 5.glide 图片 6.leakc ...
最新文章
- 万能头文件#include<bits/stdc++.h>更新GCC10.2.0版本
- 国际顶刊《PNAS》:爱发朋友圈的人,更容易长寿
- Docker mongodb Dockerfile ubuntu
- 深度学习tensorflow框架的会话
- mysql中独立表空间与共享表空间之前如何切换
- arcgis将点的属性赋值给面
- python递归查找_[Python]递归查找文件(最简洁)
- NLP将迎来黄金十年,7个案例带你入门(附Python代码)
- python通信编程_python 通信编程
- 基础算法 —— 贪心算法
- Codeforces Round #387 (Div. 2) A+B+C+D!
- 用vscode创建一个c项目_Visual Studio Code创建C#项目
- MOSS中集成各个子网站的数据到一个页面,做决策支持页面的首选: Web Capture
- python : sha256 、ripemd160
- 2020年下半年软考中级——软件设计师考试总结感想(已过!!!)
- 126邮箱手机登录服务器密码怎么办,魅族手机登录网易126邮箱提示账号密码或协议设置不正确解决办法...
- 【热点】印度年轻人跟中国年轻人有什么不同
- 企业微信老是服务器异常,添加好友提示”操作异常”,企业微信需要养号吗?...
- pytho_抓取下载音乐歌曲
- 服务器开机一进系统就黑屏,win7系统开机在欢迎界面直接黑屏怎么办