Counting 1,868 Big Data & Machine Learning Frameworks, Toolsets, and Examples...
Suggestion? Feedback? Tweet @stkim1

Last Commit
Oct. 18, 2017
Jan. 25, 2016

version build downloads stars A JavaScript WebGL2 Framework for Data Visualization

Overview's provides efficient and easy-to-use WebGL2-based building blocks enabling high-performance GPU-based data visualizations and computations on your browser.

See Examples and Documentation. Change Log. Design Goals

High Level Design Goals

  • Focus on data visualization - While generic, prioritizes features that enable efficient rendering of large data sets or that support improved visualization techniques. In practice this means that is an early adopter of techniques like instanced rendering, WebGL2 and GPGPU techniques.
  • Celebrate WebGL Simplify the use of WebGL but do not hide it from the programmer. Learn and you learn WebGL.
  • Simplification, not abstraction Provide an API that simplifies WebGL usage without hiding WebGL from the programmer. Abstractions are good but they should be built on top of

Secondary Design Goals:

  • Focus on Shader Programming - Let's efficiently create, organize and debug shader code.
  • Interoperability - No "magic" global state that gets in the way of interoperability. All components work with a standard WebGLRenderingContext and can used together with components from other frameworks (e.g. stackgl).
  • Debugging Built in support for debugging and profiling WebGL and GLSL haders.


  • builds 3D map visualization overlays on

History started out as a fork of PhiloGL however no effort has been made to maintain compatibility with PhiloGL-based applications.


npm install --save

Documentation, Lessons and Examples comes with 16 lessons, a number of examples, and a full set of reference documenation.

To run examples:

git clone [email protected]:uber/
npm install
npm start

This builds the bundle, starts a small local server, and opens a browser window on a welcome page, allowing you to run to all lessons and examples.


Use npm start to run the test server, it will open a web page from which you can access the examples and lessons, and automatically update when you save modified source files.


Testing is performed on Travis CI and using a precommit hook. Local testing is supported on three environments

  • npm test - runs npm run test-headless
  • npm run test-browser - Tests in your browser, may be helpful to quickly debug test case failures since it autoreloads on changes and gives you full access to your browser's debugger.

When adding new features, or modifying existing ones, carefully consider if unit testing can be provided.

Latest Releases
 Oct. 6 2017
 Oct. 2 2017
 Sep. 28 2017
 Sep. 18 2017
 Sep. 15 2017