Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save jessycormier/bdee46e0e1ea430ea02daac2ee2c8fad to your computer and use it in GitHub Desktop.
Save jessycormier/bdee46e0e1ea430ea02daac2ee2c8fad 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

  • 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.

Toolkits and micro frameworks

  • 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

Path Tracing

  • Snelly: A system for physically-based SDF (signed distance field) pathtracing in WebGL
  • Ashes: WebGL2.0 3D Engine & ECS & RayTracing

Tools build on top of...

  • 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.

Maps and visualizations

  • 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

VR

  • A-Frame: A web framework for building virtual reality experiences.
  • PlayCanvas: JavaScript game engine built on WebGL and WebVR

WebAssembly

  • GLAS: WebGL in WebAssembly with AssemblyScript

WebGPU

  • RedGPU: RedGPU - Javascript webGPU Engine
  • sokol: 3D-API wrapper
  • wgpu: Native WebGPU implementation based on gfx-hal
  • dawn: Dawn, a WebGPU implementation
  • dgel: A WebGPU engine.
  • YUE: Personal WebGPU based 3D renderer.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment