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. | ||
LayaAir | LayaAir is an open-source 2D/3D engine. LayaAir Engine is designed for high performance games. | ||
libGDX | Desktop/Android/HTML5/iOS Java game development framework. | ||
LittleJS | LittleJS is a HTML5 game engine with many features and no dependencies. | ||
Galacean Engine | A typescript interactive engine, support 2D, 3D, animation, physics, built on WebGL and glTF. |
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. | ||
SWGPU | A complete, fast and fun web game engine with examples. | ||
XGPU | a higher-level, easy-to-use interface for building rendering engines or processing numeric data. | ||
webgpu-renderer | A simple renderer implemented by WebGPU, includes a builtin path tracing pipeline. | ||
points | A Generative Art library made in WebGPU | ||
WebGPU Raytracer | Realtime path tracing via WebGPU compute shaders | ||
WebGPU-Kit | A minimal webGPU toolkit for rendering and compute pipelines | ||
shadeup | A language for WebGPU that makes writing shaders easier | ||
Sundown Engine | WebGPU game engine for fun and games. | ||
Cobalt | WebGpu 2D renderer. | ||
C2-Renderer | A simple webgpu renderer implemented with javascript and svelte. | ||
roquefort | WebGPU fluid simulator. | ||
khudiiash/webgpu-renderer | WebGPU 3D Renderer (basic). |
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. | ||
four | Minimal three.js alternative. | ||
glii | Object-oriented understandable WebGL. | ||
foam-gl | A WebGL toolkit. | ||
pocket-shader | A lightweight WebGL shader renderer. |
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 | ||
ThreePipe | A 3D viewer framework built on top of three.js with a focus on rendering, modularity and extensibility. | ||
Brainchop | 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. |
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 |
Name | Stars | Last Commit | Description |
---|---|---|---|
splat | WebGL 3D Gaussian Splat Viewer. | ||
gsplat.js | JavaScript Gaussian Splatting library. | ||
GaussianSplats3D | Three.js-based implementation of 3D Gaussian splatting. |
Name | Stars | Last Commit | Description |
---|---|---|---|
Bevy | A refreshingly simple data-driven game engine built in Rust. | ||
rafx | Multi-backend renderer built on top of distill. The objective of this repo is to build a scalable, flexible, data driven renderer. | ||
three-d | 2D/3D renderer - makes it simple to draw stuff across platforms (including web). | ||
wgpu-rust-renderer | A tiny WebGPU renderer written in Rust. | ||
contrast_renderer | Contrast is a WebGPU based 2D render engine written in Rust. |
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 !