WebGL/three.js Resources

I run across WebGL resources and then tend to lose track of them, so I made this page. Feel free to send me suggestions at [email protected]


Does this browser support WebGL? Test here.
What WebGL extensions does this browser support? Test here, and here, and here, and here.
What browser versions support WebGL? Find out here.
What are the statistics on WebGL support for mobile devices and PCs? Find out here.
How do I start up my browser for local development? Chrome: --allow-file-access-from-files else check Udacity page and three.js page.
What's my GPU info on Chrome? Paste in this URL: chrome://gpu/
How do I use native OpenGL instead of ANGLE for Windows Chrome and Firefox? Find out here.
What other command line options are there for Chrome? Find out here.

Reference Pages

Khronos Wiki.
Blacklist of GPUs that don't run WebGL.
OpenGL ES Shading Language functions, used for WebGL/Three.js shaders.


Debuggers and profilers, browser editors, Cozzi's list (old)
Firefox Canvas Debugger
Shader compile/link performance
Chrome shader editor
Texture Format Tester
Analyzing traces

Courses and Tutorials

Ed Angel's Coursera course and reflections
Udacity three.js MOOC course signup, resources, and syllabus
Barcelona MOOC course homepage
David Scott Lyons' amazing slideset intro to Three.js
Steven Wittens' lovely computer graphics lessons using Three.js, and WebGL intro demofest
SIGGRAPH University introduction to WebGL

Developer List

Google Groups WebGL Dev List


Homepage, Lee Stemkoski's demos, Yomotsu examples
Quick reference, alphabetical xref and API, wiki docs
Thumbnails of examples
Demos: Google+, at Learning Three.js, curated gallery, lmv.rocks
Twitter news: #threejs, #webgl
Source code
Intro "live" slideset (and my own fork), basics article.

Other Frameworks

Wikipedia list, game engine list
OSG.JS, used by Sketchfab and others
Goo Create - for game creation
WhitestormJS - add physics atop Three.js
A-FRAME - for VR, built atop three.js
Cesium - for globes and maps
deck.gl - by Uber, for large data set visualization

File Formats


WebGL 2

Does this browser support WebGL 2? Test here.
Specification, related OpenGL ES 3.0 specification
SIGGRAPH 2016 Birds of a Feather video
Brandon Jones' blog
How Cesium creates a WebGL 2 context


Newest first, very oldest left off.

cover Learning Three.js: The JavaScript 3D Library for WebGL - Second Edition, by Jos Dirksen, Packt Publishing, March 2015 (Table of Contents and samples, runnable code, Github, Google Books sample).
cover WebGL Insights (Kindle), edited by Patrick Cozzi, CRC Press, July 2015 (book's website, blog, Google Books sample).
cover Three.js Cookbook, by Jos Dirksen, Packt Publishing, January 2015 (Table of Contents and samples, runnable code, Github, Google Books sample).
cover Three.js Essentials, by Jos Dirksen, Packt Publishing, July 2014 (Table of Contents and samples, Github, Google Books sample).
cover Interactive Computer Graphics with WebGL (Seventh Edition), by Edward Angel and Dave Shreiner, Addison-Wesley, March 2014 (more info, figures and source code).
cover Programming 3D Applications with HTML5 and WebGL: 3D Animation and Visualization for Web Pages, by Tony Parisi, O'Reilly, March 2014 (more info and sample, github code, Google Books sample).
cover WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL, by Kouichi Matsuda, Rodger Lea, Addison-Wesley, July 2013 (book's website, PDF of table of contents and sample, Google Books sample).

Thanks to Patrick Cozzi for collecting many of the links to tools.

Contact: Eric Haines