WebGL frameworks & libraries are used to create an interactive showcase, browser-based games, detailed scientific and medical visualization/ simulation, virtual reality (VR), & mixed reality (MR) applications.
WebGL is used in several industries like gaming, engineering, data analytics, geospatial analysis, scientific and medical visualization & simulation.
We have published several articles about new emerging medical imaging applications and DICOM browsers and frameworks which use WebGL to build web-ready applications:
1- The X Toolkit: Open source WebGL Browser-based 3D Scientific & Medical Visualization Framework
2- Med3Web: Free, Open source Browser-based DICOM viewer for 2D/ 3D Medical Visualization
3- BrainBrowser: Open source Web-based Brain Visualization with Volume & Surface viewers
The aim of the project is to create an easy to use, lightweight, 3D library with a default WebGL renderer. The library also provides Canvas 2D, SVG and CSS3D renderers in the examples.
Three.js is used in many games, scientific and medical visualization. It is used as a base of 2 WebGL medical DICOM visualization frameworks.
Three.js for medical and scientific projects:
Babylon.js has a very large community of developers that supply its inventory of code snippets, tutorials, and of course re-usable extensions to extend its core functionalities.
Filament is a real-time physically-based renderer written in C++. It is mobile-first, but also multi-platform.
Filament is an open source WebGL Real-time 3D renderer built for Web. It uses C++ with an intention to be a mobile-first 3D platform. Filament is developed and released by Google as part of their open source projects. Though it targets multi-platform (Android, iOS, Linux, Mac OSX,& Windows) with mobile-focused intentions, it's not popular among developers yet. It's a fairly new library, but in time it may catch the attention of game developers.
KickJS is an open source (BSD license) WebGL game engine & 3D web graphics library built for modern web browsers. It has a simple learning curve for new developers as it comes with rich clear documentation, tutorials, and several game examples. As a game engine, KickJS supports mouse, keyboard, & gamepad controllers. It provides several tools for developers including Shader editor, Model tool, Extension viewer, and some game examples with clear code.
KickJS's on github
A WebGL graphics library for building scalable Web3D applications
PlayCanvas is a lightweight fully featured 3D web game & graphics engine. It's the favorite WebGL 3D game engine among developers. It has an impressive list of features that provides game developers with everything they need to build a web-first graphic-rich game. PlayCanvas is used by many games developers, there are several successful games on the market. PlayCanvas is not built only for games but it can be used to build AR (Augmented Reality) & VR (Virtual Reality) applications.
3D Development environment for the web.
Litescene.js is a simple yet powerful WebGL library that provides component-based node hierarchy, It provides simple JSON code that is easy to embed in web projects and used in WebGLStudio.js editor, which is an open source advanced 3D WebGL web-based editor. With WebGLStudio you can export the JSON file containing all the info and use it in your LiteScene. Litescene.js uses its own mini-library "Litegl.js" to warp WebGL components to make it more user-friendly by creating classes for managing different items like Buffer, Mesh, Texture, Shader and other common aspects of any WebGL applications.
WebGLStudio.js is a platform to create interactive 3D scenes directly from the browser.
It allows to edit the scene visually, code your behaviors, edit the shaders, and all directly from within the app.
Luma is an open source High-performance WebGL2 components for GPU-powered data visualization and computation. It's published and maintained by Uber as an open source project. it's getting continuous updates, It is used as a core WebGL engine for 2 frameworks:
You may wanna check other Uber's open source libraries at https://vis.gl/.
A-Frame is an open source WebGL framework for building virtual reality (VR) applications. It is used by the world top companies like Disney, Google, Mozilla, NASA, Samsung, Sony, & Toyota. It's fairly easy to use as it also has an easy learning curve for experienced and beginners. A-Frame works smoothly in several VR platforms like Vive, Rift, on a desktop with modern browsers like Mozilla Firefox, & Google Chrome, & mobile phones with smooth performance.
X3DOM is a WebGL framework for building embeddable 3D Web-ready graphics for website & web apps. It provides simple markup code that can be added to any HTML5 projects.
Grimoire.js is an open source WebGL framework for building 3D web applications, it is aiming to provide a bridge between Web engineers and CG engineers.
The HTML5 Creation Engine: Create beautiful digital content with the fastest, most flexible 2D WebGL renderer.
PixiJS is a 2D/ 3D web graphics engine that eases the creation of amazing interactive graphics applications for the web. It's a modular engine that can be extended easily through plugins, It is favored among web developers, 2D game creators, and big companies like Google, BBC, Volkswagen, HBO, Adobe, & Disney. It's best to create interactive complex 2D visualization, 2D games, and products showcase.
SceneJS is an open source (discontinued) WebGL-based graphics engine for high detailed 3D visualization. It's the core engine that makes The Bio Digital Human project ticks. Though the project is discontinued, and the BioDigitalHuman uses a heavily modified version (not open source), the old repository has been archived for WebGL educational purposes. SceneJS team has released a new library as production-ready library XeoGL.
SceneJS successor XeoGL is released from the same developer(s), It's data-driven WebGL graphics engine that comes with several tools aiming for easier CAD/ 3D integrations into web projects. It's aiming to provide a tool to build complex 3D WebGL graphics that run smoothly through modern browsers.
CurtainsJS is an open source WebGL library aiming to provide WebGL-based animation for web pages. It is not a graphics engine nor a gaming engine rather than a 3D animation & events based graphics library. It converts HTML based elements into 3D animated objects using WebGL-rendering library.
A WebGL Framework for Data Visualization, Creative Coding, and Game Development
Feel free to contact us to recommend adding more libraries/ frameworks to this list.
You can add your link to this article by sponsoring it.
Here how to sponsor this post Sponsorship program
A physician with programming skills, Linux user since late 1990s, Open source supporter. Coding with Python, NodeJS (Meteor, VueJS, Express, D3, PhantomJS), SmallTalk & R language.