Skip to content

Instantly share code, notes, and snippets.

@dmnsgn
Last active May 27, 2024 10:50
Show Gist options
  • Save dmnsgn/76878ba6903cf15789b712464875cfdc to your computer and use it in GitHub Desktop.
Save dmnsgn/76878ba6903cf15789b712464875cfdc to your computer and use it in GitHub Desktop.
A collection of WebGL and WebGPU frameworks and libraries

A non-exhaustive list of WebGL and WebGPU frameworks and libraries. It is mostly for learning purposes as some of the libraries listed are wip/outdated/not maintained anymore.

Engines and libraries ⚙️

Name Stars Last Commit Description
three.js GitHub Repo stars GitHub last commit JavaScript 3D library
stack.gl GitHub Repo stars GitHub last commit an open software ecosystem for WebGL, built on top of browserify and npm.
PixiJS GitHub Repo stars GitHub last commit Super fast HTML 5 2D rendering engine that uses webGL with canvas fallback
Pex GitHub Repo stars GitHub last commit Pex is a javascript 3d library / engine allowing for seamless development between Plask and WebGL in the browser.
Babylon.js GitHub Repo stars GitHub last commit a complete JavaScript framework for building 3D games with HTML 5 and WebGL
Filament GitHub Repo stars GitHub last commit Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS and WASM/WebGL
ClayGL GitHub Repo stars GitHub last commit A WebGL graphic library helping you to build scalable Web3D applications
AwayJS GitHub Repo stars GitHub last commit AwayJS is a graphics library for javascript written in typescript
SceneJS GitHub Repo stars GitHub last commit An extensible WebGL-based engine for high-detail 3D visualisation
Blend4Web GitHub Repo stars GitHub last commit a tool for interactive 3D visualization on the Internet
PlayCanvas GitHub Repo stars GitHub last commit JavaScript game engine built on WebGL and WebVR
Turbulenz GitHub Repo stars GitHub last commit Turbulenz is a modular 3D and 2D game framework for making HTML5 powered games for browsers, desktops and mobile devices.
Hilo3d GitHub Repo stars GitHub last commit a WebGL Rendering Engine.
litescene GitHub Repo stars GitHub last commit A WebGL 3D Engine library with component-based node hierarchy. Used by WebGLStudio.
Two.js GitHub Repo stars GitHub last commit A renderer agnostic two-dimensional drawing api for the web.
webgl-operate GitHub Repo stars GitHub last commit A TypeScript based WebGL rendering framework.
Rhodonite GitHub Repo stars GitHub last commit Rhodonite Web3D Library in TypeScript
Zogra GitHub Repo stars GitHub last commit A simple WebGL2 renderer.
LayaAir GitHub Repo stars GitHub last commit LayaAir is an open-source 2D/3D engine. LayaAir Engine is designed for high performance games.
libGDX GitHub Repo stars GitHub last commit Desktop/Android/HTML5/iOS Java game development framework.
LittleJS GitHub Repo stars GitHub last commit LittleJS is a HTML5 game engine with many features and no dependencies.
Galacean Engine GitHub Repo stars GitHub last commit A typescript interactive engine, support 2D, 3D, animation, physics, built on WebGL and glTF.

WebGPU ⚙️

Name Stars Last Commit Description
dawn Dawn, a WebGPU implementation
wgpu GitHub Repo stars GitHub last commit Safe and portable GPU abstraction in Rust, implementing WebGPU API.
RedGPU GitHub Repo stars GitHub last commit RedGPU - Javascript webGPU Engine
sokol GitHub Repo stars GitHub last commit 3D-API wrapper
wgpu GitHub Repo stars GitHub last commit Native WebGPU implementation based on gfx-hal
dgel GitHub Repo stars GitHub last commit A WebGPU engine.
YUE GitHub Repo stars GitHub last commit Personal WebGPU based 3D renderer.
Simple-GPU GitHub Repo stars GitHub last commit Functional WebGPU.
Vello GitHub Repo stars GitHub last commit An experimental GPU compute-centric 2D renderer.
GWebGPUEngine GitHub Repo stars GitHub last commit A WebGPU Engine for real-time rendering and GPGPU.
Orillusion GitHub Repo stars GitHub last commit Orillusion is a pure Web3D rendering engine which is fully developed based on the WebGPU standard.
WARME-Engine GitHub Repo stars GitHub last commit HTML5 WebGPU Game Engine 2D & 3D written in TypeScript
XGPU GitHub Repo stars GitHub last commit a higher-level, easy-to-use interface for building rendering engines or processing numeric data.
webgpu-renderer GitHub Repo stars GitHub last commit A simple renderer implemented by WebGPU, includes a builtin path tracing pipeline.
points GitHub Repo stars GitHub last commit A Generative Art library made in WebGPU
WebGPU Raytracer GitHub Repo stars GitHub last commit Realtime path tracing via WebGPU compute shaders
WebGPU-Kit GitHub Repo stars GitHub last commit A minimal webGPU toolkit for rendering and compute pipelines
shadeup GitHub Repo stars GitHub last commit A language for WebGPU that makes writing shaders easier

Toolkits and micro frameworks 🧰

Name Stars Last Commit Description
regl GitHub Repo stars GitHub last commit Fast functional WebGL
lightgl.js GitHub Repo stars GitHub last commit A lightweight WebGL library
TWGL GitHub Repo stars GitHub last commit A Tiny WebGL helper Library
p5.js GitHub Repo stars GitHub last commit a new interpretation of Processing, not an emulation or port.
Four GitHub Repo stars GitHub last commit a slightly higher level graphics API based on WebGL 1.0
TDL GitHub Repo stars GitHub last commit TDL is a low-level library for WebGL apps (see TWGL)
KickJS GitHub Repo stars GitHub last commit A WebGL game engine for modern web-browsers
nanogl GitHub Repo stars GitHub last commit webgl micro framework
Alfrid GitHub Repo stars GitHub last commit A WebGL tool set
Medium GitHub Repo stars GitHub last commit Progressive WebGL toolkit for art
PicoGL.js GitHub Repo stars GitHub last commit A minimal WebGL 2-only rendering library
O-GL GitHub Repo stars GitHub last commit Minimal WebGL framework
mini-webgl GitHub Repo stars GitHub last commit Mini toy WebGL library
phenomenon-px GitHub Repo stars GitHub last commit The fastest way to create pixel shaders.
zen-3d GitHub Repo stars GitHub last commit JavaScript 3D library.
GLOW GitHub Repo stars GitHub last commit GLOW is a WebGL wrapper, which focuses on easy creation and use of shaders.
Helix GitHub Repo stars GitHub last commit A Javascript 3D engine.
GrimoireJS GitHub Repo stars GitHub last commit A WebGL framework for Web development.
litegl.js GitHub Repo stars GitHub last commit Lightweight Javascript WebGL library for handling Context, Meshes, Textures and Shaders.
CraZyPG GitHub Repo stars GitHub last commit lowlevel webgl2.0 library
GLBoost GitHub Repo stars GitHub last commit A Useful WebGL Library for Small Turning
RedCube.js GitHub Repo stars GitHub last commit WebGL2 rendering library.
RedGL2 GitHub Repo stars GitHub last commit RedGL - JavaScript 3D library
gi-voxels GitHub Repo stars GitHub last commit WebGL Voxel Cone Tracing
artgl GitHub Repo stars GitHub last commit TypeScript 3D framework. Building blocks & infrastructure for Web 3D application.
Squareroot.js GitHub Repo stars GitHub last commit A 2d/3d engine for WebGL and Canvas rendering and animation
gl3 GitHub Repo stars GitHub last commit webgl helper library
wwg GitHub Repo stars GitHub last commit Simple WebGL wrapper
glTips GitHub Repo stars GitHub last commit Useful, cherry-pickable, and CC0 (public domain like) licensed WebGL routine code snippets.
dan-shari-gl GitHub Repo stars GitHub last commit minimum webgl framework developed with TypeScript
hwoa-rang-gl GitHub Repo stars GitHub last commit Lightweight WebGL Library written in Typescript
desenha GitHub Repo stars GitHub last commit A barebones WebGL framework.
Tmp3D GitHub Repo stars GitHub last commit A 3-D software renderer written from scratch in nothing but JavaScript
opusgl GitHub Repo stars GitHub last commit A minimal rendering library.
feng3d GitHub Repo stars GitHub last commit TypeScript 3D engine built on WebGL.
swissgl GitHub Repo stars GitHub last commit SwissGL is a minimalistic wrapper on top of WebGL2 JS API.
four GitHub Repo stars GitHub last commit Minimal three.js alternative.
glii GitHub Repo stars GitHub last commit Object-oriented understandable WebGL.

Path Tracing ☈

Name Stars Last Commit Description
Snelly GitHub Repo stars GitHub last commit A system for physically-based SDF (signed distance field) pathtracing in WebGL
Ashes GitHub Repo stars GitHub last commit WebGL2.0 3D Engine & ECS & RayTracing

Tools build on top of... 🏘️

Name Stars Last Commit Description
WhitestormJS GitHub Repo stars GitHub last commit Super-fast 3D framework for Web Applications & Games. Based on Three.js
Phaser GitHub Repo stars GitHub last commit Phaser is a fast, free, and fun open source HTML5 game framework. It uses a custom build of Pixi.js.
OSG.js GitHub Repo stars GitHub last commit Javascript Implementation of OpenSceneGraph
Ammo.js GitHub Repo stars GitHub last commit Direct port of the Bullet physics engine to JavaScript using Emscripten
gl-engine GitHub Repo stars GitHub last commit an experimental ES6 WebGL engine built on stack.gl
GLAM GitHub Repo stars GitHub last commit glam (GL A nd M arkup) is a declarative language for creating 3D web content.
potree GitHub Repo stars GitHub last commit WebGL point cloud viewer for large datasets
plotly.js GitHub Repo stars GitHub last commit Built on top of d3.js and stack.gl, plotly.js is a high-level, declarative charting library.
threeify GitHub Repo stars GitHub last commit threeify is a Typescript 3D library loosely based on three.js.
ROYGBIV GitHub Repo stars GitHub last commit A 3D engine for the Web
shree GitHub Repo stars GitHub last commit lite three.js
Taro GitHub Repo stars GitHub last commit A lightweight 3D game engine for the web.
Alien.js GitHub Repo stars GitHub last commit Alien.js is a MVC design pattern for building single-page applications with ES modules and three.js, intended for developers who are interested in creating their own shaders.
gpu-io GitHub Repo stars GitHub last commit A GPU-accelerated computing library for physics simulations and other mathematical calculations
enable3d GitHub Repo stars GitHub last commit Standalone 3D Framework / Physics for three.js (using ammo.js) / 3D extension for Phaser 3
ThreePipe GitHub Repo stars GitHub last commit A 3D viewer framework built on top of three.js with a focus on rendering, modularity and extensibility.
Brainchop GitHub Repo stars GitHub last commit In-browser 3D MRI rendering and segmentation.
lgl-tracer LGLTracer is a web ray tracing renderer, implemented as a plug-in library on top of Threejs.

Maps and visualizations 🗺️

Name Stars Last Commit Description
Mapbox GL JS GitHub Repo stars GitHub last commit Interactive, thoroughly customizable maps in the browser, powered by vector tiles and WebGL.
Deck.gl GitHub Repo stars GitHub last commit WebGL based visualization layers
LumaGL GitHub Repo stars GitHub last commit A JavaScript WebGL Framework for Data Visualization
Cesium GitHub Repo stars GitHub last commit Open-source library for world-class 3D globes and maps.
xeogl GitHub Repo stars GitHub last commit A data-driven 3D visualization engine on WebGL
PhiloGL GitHub Repo stars GitHub last commit A WebGL Framework for Data Visualization, Creative Coding and Game Development
MathBox GitHub Repo stars GitHub last commit Presentation-quality WebGL math graphing
VTK GitHub Repo stars GitHub last commit Visualization Toolkit for the Web
Apache ECharts GitHub Repo stars GitHub last commit A powerful, interactive charting and data visualization library for browser
Troika GitHub Repo stars GitHub last commit A JavaScript framework for interactive 3D and 2D visualizations
@antv/g GitHub Repo stars GitHub last commit A powerful rendering engine for AntV implemented with Canvas2D / SVG / WebGL / WebGPU.

VR 🥽

Name Stars Last Commit Description
A-Frame GitHub Repo stars GitHub last commit A web framework for building virtual reality experiences.
PlayCanvas GitHub Repo stars GitHub last commit JavaScript game engine built on WebGL and WebVR

WebAssembly 🟪

Name Stars Last Commit Description
GLAS GitHub Repo stars GitHub last commit WebGL in WebAssembly with AssemblyScript
WebRays GitHub Repo stars GitHub last commit Ray Tracing on the Web
mugl GitHub Repo stars GitHub last commit Micro WebGL 2.0 3D Graphics Library for JavaScript and WebAssembly

Gaussian Splatting 💦

Name Stars Last Commit Description
splat GitHub Repo stars GitHub last commit WebGL 3D Gaussian Splat Viewer.
gsplat.js GitHub Repo stars GitHub last commit JavaScript Gaussian Splatting library.
GaussianSplats3D GitHub Repo stars GitHub last commit Three.js-based implementation of 3D Gaussian splatting.

Rust 🦀

Name Stars Last Commit Description
Bevy GitHub Repo stars GitHub last commit A refreshingly simple data-driven game engine built in Rust.
rafx GitHub Repo stars GitHub last commit Multi-backend renderer built on top of distill. The objective of this repo is to build a scalable, flexible, data driven renderer.
three-d GitHub Repo stars GitHub last commit 2D/3D renderer - makes it simple to draw stuff across platforms (including web).
wgpu-rust-renderer GitHub Repo stars GitHub last commit A tiny WebGPU renderer written in Rust.
contrast_renderer GitHub Repo stars GitHub last commit Contrast is a WebGPU based 2D render engine written in Rust.
@roipoussiere
Copy link

Also it could be useful to add the library minified size. If interested, I started a work here:

@carlsmith
Copy link

GLOW is dead. Its homepage (the main link on the page this page links to) is for sale.

@akella
Copy link

akella commented Feb 7, 2019

Add this one =) https://www.martin-laxenaire.fr/libs/curtainsjs/ nice for fullscreen animations with glsl

@munrocket
Copy link

Potree - point cloud visualization

Copy link

ghost commented Nov 28, 2019

RaptorEngine - An browser based WebGL Engine (With node based material editor) is missing.

Node based Material Editor: https://www.youtube.com/watch?v=l7oOLKeDGCs , https://www.youtube.com/watch?v=GjqOE0suK14

Github: https://github.com/kajdijkstra/RaptorEngine

@fkromer
Copy link

fkromer commented Jan 13, 2020

There is plotly js (charting library) which supports WebGL for scatter plots (scattergl): https://plot.ly/javascript/webgl-vs-svg/

@s0kil
Copy link

s0kil commented Apr 3, 2020

Here is also https://two.js.org/

@nicolasgoudard
Copy link

Hello.
I use CreateJS . I had chosen it for high levels function that look like Java AWT (I converted some old project from Java to JS), and this project was supported by Adobe and Microsoft. But there are not updates since 2 or 3 years. Why ??
What is the best library nowadays ? I see Konva but now I am not sure, I want to find a famous project supported buy a large communauty.
Please help me !

@a-x-
Copy link

a-x- commented Sep 30, 2020

Are you know any rich good UI Components Library based on WebGL?

I found only declined one: DreemGL

@kurtsansom
Copy link

@random-yang
Copy link

data viz: echarts?

@arathore-gaming
Copy link

What about COCOS? It supports 3D as well now

@langolf
Copy link

langolf commented Mar 17, 2021

@niiloArction
Copy link

Hi, please do include LightningChart JS.

It is a data visualization library that utilizes WebGL, similar like already mentioned ECharts, except that it heavily focuses real-time data inputs and large data sets.

@abasilak
Copy link

Hi, you can also include WebRays - a GPU-accelerated ray intersection engine for the World Wide Web. It aims to offer a flexible and easy-to-use programming interface for robust and high-performance ray intersection tests on modern browsers.

https://github.com/phasmatic3d/webrays

A gentle introduction to the library (design considerations, best practices, and usage examples for several ray tracing tasks) is recently published at Nvidia's Ray Tracing Gems 2 book: https://link.springer.com/chapter/10.1007/978-1-4842-7185-8_18

@mitsukuri
Copy link

mitsukuri commented Aug 6, 2022

Hello @dmnsgn!

I took a liberty and formatted your list as table, with entries sorted alphabetically and augmented with stars and last commit badges, like this:

name stars last commit description
PixiJS stars GitHub last commit Super fast HTML 5 2D rendering engine that uses webGL with canvas fallback

Feel free to update your gist from mine if you find any added value in it, I'll delete mine if you do so.

[deleted]

@dmnsgn
Copy link
Author

dmnsgn commented Aug 13, 2022

@mitsukuri thanks for your contribution, I have updated with slight modification.

@mitsukuri
Copy link

@dmnsgn My pleasure!

@mitsukuri
Copy link

Found a typo in GLAM's description: GL A nd M arkup -> GL And Markup

@tomerry
Copy link

tomerry commented Sep 20, 2022

mapboxgl

@wardenfeng
Copy link

wardenfeng commented Jan 27, 2023

@dmnsgn

| [feng3d](https://github.com/feng3d-labs/feng3d)                   | ![GitHub Repo stars](https://img.shields.io/github/stars/feng3d-labs/feng3d)          | ![GitHub last commit](https://img.shields.io/github/last-commit/feng3d-labs/feng3d)          | TypeScript 3D  engine built on WebGL.  |

| feng3d | GitHub Repo stars | GitHub last commit | TypeScript 3D engine built on WebGL. |

@geloescht
Copy link

What about Needle Engine ( https://needle.tools/ )? It is based on three.js and allows exporting out of Unity and Blender with Typescript support based on Unity's component system and live preview in the browser.

@jay19240
Copy link

@dmnsgn

| [Haiku](https://github.com/jay19240/Haiku)                   | ![GitHub Repo stars](https://img.shields.io/github/stars/jay19240/Haiku)          | ![GitHub last commit](https://img.shields.io/github/last-commit/jay19240/Haiku)          | 2D & 3D WebGPU game engine written in TypeScript |

| Haiku | GitHub Repo stars | GitHub last commit | 2D & 3D WebGPU game engine written in TypeScript |

@NathanSweet
Copy link

@trusktr
Copy link

trusktr commented Jan 2, 2024

I forked this to https://github.com/trusktr/WebGL-WebGPU-frameworks-libraries to make it possible for anyone to contribute via pull request.

@dmnsgn
Copy link
Author

dmnsgn commented Jan 4, 2024

I forked this to https://github.com/trusktr/WebGL-WebGPU-frameworks-libraries to make it possible for anyone to contribute via pull request.

I am still fine with comments contributions here. It is a list 🤷
If you have any new framework/lib that turns code into pixels with web tech to submit, I'd be happy to review and include them here if they match the premise.

@trusktr
Copy link

trusktr commented Feb 4, 2024

@dmnsgn would you consider migrating to a repo? PRs are better than comments for this use case I think

@jay19240
Copy link

jay19240 commented Mar 13, 2024

Hello, can you change Haiku for WARME Engine.
I recently changed the name of my engine, thank you !

@AskingQuestions
Copy link

Shadeup - Language that makes building with WebGPU easier

@SMUsamaShah
Copy link

https://github.com/KilledByAPixel/LittleJS (2.7k stars) by Frank Force

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment