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.
| Name | Stars | Last Commit | Description |
|---|---|---|---|
| three.js | JavaScript 3D library | ||
| stack.gl | an open software ecosystem for WebGL, built on top of browserify and npm. | ||
| PixiJS | Super fast HTML 5 2D rendering engine that uses webGL with canvas fallback | ||
| Pex | Pex is a javascript 3d library / engine allowing for seamless development between Plask and WebGL in the browser. | ||
| Babylon.js | a complete JavaScript framework for building 3D games with HTML 5 and WebGL | ||
| Filament | Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS and WASM/WebGL | ||
| ClayGL | A WebGL graphic library helping you to build scalable Web3D applications | ||
| AwayJS | AwayJS is a graphics library for javascript written in typescript | ||
| SceneJS | An extensible WebGL-based engine for high-detail 3D visualisation | ||
| Blend4Web | a tool for interactive 3D visualization on the Internet | ||
| PlayCanvas | JavaScript game engine built on WebGL and WebVR | ||
| Turbulenz | Turbulenz is a modular 3D and 2D game framework for making HTML5 powered games for browsers, desktops and mobile devices. | ||
| Hilo3d | a WebGL Rendering Engine. | ||
| litescene | A WebGL 3D Engine library with component-based node hierarchy. Used by WebGLStudio. | ||
| Two.js | A renderer agnostic two-dimensional drawing api for the web. | ||
| webgl-operate | A TypeScript based WebGL rendering framework. | ||
| Rhodonite | Rhodonite Web3D Library in TypeScript | ||
| Zogra | A simple WebGL2 renderer. | ||
| Zea | high-performance, modular, and open-source 3D graphics engine SDK for supporting CAD and BIM models in web applications. | ||
| LayaAir | LayaAir is an open-source 2D/3D engine. LayaAir Engine is designed for high performance games. |
| Name | Stars | Last Commit | Description |
|---|---|---|---|
| dawn | Dawn, a WebGPU implementation | ||
| wgpu | Safe and portable GPU abstraction in Rust, implementing WebGPU API. | ||
| RedGPU | RedGPU - Javascript webGPU Engine | ||
| sokol | 3D-API wrapper | ||
| wgpu | Native WebGPU implementation based on gfx-hal | ||
| dgel | A WebGPU engine. | ||
| YUE | Personal WebGPU based 3D renderer. | ||
| Simple-GPU | Functional WebGPU. | ||
| Vello | An experimental GPU compute-centric 2D renderer. | ||
| GWebGPUEngine | A WebGPU Engine for real-time rendering and GPGPU. | ||
| Orillusion | Orillusion is a pure Web3D rendering engine which is fully developed based on the WebGPU standard. | ||
| Haiku | 2D & 3D WebGPU game engine written in TypeScript |
| Name | Stars | Last Commit | Description |
|---|---|---|---|
| regl | Fast functional WebGL | ||
| lightgl.js | A lightweight WebGL library | ||
| TWGL | A Tiny WebGL helper Library | ||
| p5.js | a new interpretation of Processing, not an emulation or port. | ||
| Four | a slightly higher level graphics API based on WebGL 1.0 | ||
| TDL | TDL is a low-level library for WebGL apps (see TWGL) | ||
| KickJS | A WebGL game engine for modern web-browsers | ||
| nanogl | webgl micro framework | ||
| Alfrid | A WebGL tool set | ||
| Medium | Progressive WebGL toolkit for art | ||
| PicoGL.js | A minimal WebGL 2-only rendering library | ||
| O-GL | Minimal WebGL framework | ||
| mini-webgl | Mini toy WebGL library | ||
| phenomenon-px | The fastest way to create pixel shaders. | ||
| zen-3d | JavaScript 3D library. | ||
| GLOW | GLOW is a WebGL wrapper, which focuses on easy creation and use of shaders. | ||
| Helix | A Javascript 3D engine. | ||
| GrimoireJS | A WebGL framework for Web development. | ||
| litegl.js | Lightweight Javascript WebGL library for handling Context, Meshes, Textures and Shaders. | ||
| CraZyPG | lowlevel webgl2.0 library | ||
| GLBoost | A Useful WebGL Library for Small Turning | ||
| RedCube.js | WebGL2 rendering library. | ||
| RedGL2 | RedGL - JavaScript 3D library | ||
| gi-voxels | WebGL Voxel Cone Tracing | ||
| artgl | TypeScript 3D framework. Building blocks & infrastructure for Web 3D application. | ||
| Squareroot.js | A 2d/3d engine for WebGL and Canvas rendering and animation | ||
| gl3 | webgl helper library | ||
| wwg | Simple WebGL wrapper | ||
| glTips | Useful, cherry-pickable, and CC0 (public domain like) licensed WebGL routine code snippets. | ||
| dan-shari-gl | minimum webgl framework developed with TypeScript | ||
| hwoa-rang-gl | Lightweight WebGL Library written in Typescript | ||
| desenha | A barebones WebGL framework. | ||
| Tmp3D | A 3-D software renderer written from scratch in nothing but JavaScript | ||
| opusgl | A minimal rendering library. | ||
| feng3d | TypeScript 3D engine built on WebGL. | ||
| swissgl | SwissGL is a minimalistic wrapper on top of WebGL2 JS API. |
| Name | Stars | Last Commit | Description |
|---|---|---|---|
| Snelly | A system for physically-based SDF (signed distance field) pathtracing in WebGL | ||
| Ashes | WebGL2.0 3D Engine & ECS & RayTracing |
| Name | Stars | Last Commit | Description |
|---|---|---|---|
| WhitestormJS | Super-fast 3D framework for Web Applications & Games. Based on Three.js | ||
| Phaser | Phaser is a fast, free, and fun open source HTML5 game framework. It uses a custom build of Pixi.js. | ||
| OSG.js | Javascript Implementation of OpenSceneGraph | ||
| Ammo.js | Direct port of the Bullet physics engine to JavaScript using Emscripten | ||
| gl-engine | an experimental ES6 WebGL engine built on stack.gl | ||
| GLAM | glam (GL A nd M arkup) is a declarative language for creating 3D web content. | ||
| potree | WebGL point cloud viewer for large datasets | ||
| plotly.js | Built on top of d3.js and stack.gl, plotly.js is a high-level, declarative charting library. | ||
| threeify | threeify is a Typescript 3D library loosely based on three.js. | ||
| ROYGBIV | A 3D engine for the Web | ||
| shree | lite three.js | ||
| Taro | A lightweight 3D game engine for the web. | ||
| Alien.js | 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 | A GPU-accelerated computing library for physics simulations and other mathematical calculations | ||
| enable3d | Standalone 3D Framework / Physics for three.js (using ammo.js) / 3D extension for Phaser 3 |
| Name | Stars | Last Commit | Description |
|---|---|---|---|
| Mapbox GL JS | Interactive, thoroughly customizable maps in the browser, powered by vector tiles and WebGL. | ||
| Deck.gl | WebGL based visualization layers | ||
| LumaGL | A JavaScript WebGL Framework for Data Visualization | ||
| Cesium | Open-source library for world-class 3D globes and maps. | ||
| xeogl | A data-driven 3D visualization engine on WebGL | ||
| PhiloGL | A WebGL Framework for Data Visualization, Creative Coding and Game Development | ||
| MathBox | Presentation-quality WebGL math graphing | ||
| VTK | Visualization Toolkit for the Web | ||
| Apache ECharts | A powerful, interactive charting and data visualization library for browser | ||
| Troika | A JavaScript framework for interactive 3D and 2D visualizations | ||
| @antv/g | A powerful rendering engine for AntV implemented with Canvas2D / SVG / WebGL / WebGPU. |
| Name | Stars | Last Commit | Description |
|---|---|---|---|
| A-Frame | A web framework for building virtual reality experiences. | ||
| PlayCanvas | JavaScript game engine built on WebGL and WebVR |
| Name | Stars | Last Commit | Description |
|---|---|---|---|
| GLAS | WebGL in WebAssembly with AssemblyScript | ||
| WebRays | Ray Tracing on the Web | ||
| mugl | Micro WebGL 2.0 3D Graphics Library for JavaScript and WebAssembly |