Last updated on May 15, 2017

Additional Resources

WebGL is an emerging technology with many aspects. I have done my best to compile good supplemental learning resources here. listed alphabetically by topic.

Ajax

XMLHttpRequest Specification
http://www.w3.org/TR/XMLHttpRequest/
Mozilla XMLHttpRequest Page
https://developer.mozilla.org/En/XMLHttpRequest/Using_XMLHttpRequest

Debugging

Khronos debugging wiki page
http://www.khronos.org/webgl/wiki/Debugging
WebGL Inspector
http://benvanik.github.com/WebGL-Inspector/

Demos

Cutting-edge Chrome WebGL experiments
http://www.chromeexperiments.com/webgl
Khronos demo repository
http://www.khronos.org/webgl/wiki/Demo_Repository
Nice water demo
http://madebyevan.com/webgl-water/
A '3D' Site with Unique Mathematics Visualizations
http://acko.net/

HTML

Canvas Element
https://www.w3.org/wiki/HTML/Elements/canvas

JavaScript

Douglas Crockford site
http://javascript.crockford.com/
Mozilla Developer Network (MDN) Page
https://developer.mozilla.org/en-US/docs/JavaScript

jQuery

jQuery
http://jquery.com/

JSON

JSON
http://www.json.org/

LAMP, MAMP, and WAMP

MAMP
http://www.mamp.info/en/index.html
XAMPP
http://www.apachefriends.org/en/index.html
EasyPHP
http://www.apachefriends.org/en/index.html
Bitnami
http://bitnami.org/
OPEW
http://sourceforge.net/projects/opew/
Browser Setting Adjustment
https://github.com/mrdoob/three.js/wiki/How-to-run-things-locally

Libraries and Frameworks

Framework listings
http://www.khronos.org/webgl/wiki/User_Contributions
GLGE Project Page
http://www.glge.org
PhiloGL Project Page
http://www.senchalabs.org/philogl/
Resources
http://www.slideshare.net/philogb/leaving-flatland-getting-started-with-webgl-sxsw-2012

Three.JS

Project page
https://mrdoob.github.com/three.js/
Documentation
http://mrdoob.github.com/three.js/docs/latest/
Wiki
https://github.com/mrdoob/three.js/wiki
Learning Resources: Paul Lewis
http://aerotwist.com/tutorials/
Learning Resources: Jerome Etienne
http://learningthreejs.com/
Nice Diagrams of Overall Objects
http://ushiroad.com/3j/
http://www.12devsofxmas.co.uk/2012/01/webgl-and-three-js/

Lighting

Direct Illumination models
http://www.lighthouse3d.com/tutorials/glsl-tutorial/directional-lights-ii/
http://www.ozone3d.net/tutorials/glsl_lighting_phong_p3.php
Phong Reflection Model
http://en.wikipedia.org/wiki/Phong_reflection_model
Global Illumination Models
GPU Gems 2 Chapter 38
Ambient Occlusion
GPU Gems 2 Chapter 14 http://en.wikipedia.org/wiki/Screen_Space_Ambient_Occlusion
Reflection and Refraction
GPU Gems 3 Chapter 17
GPU Gems 2 Chapter 19
Shadow Mapping
http://fabiensanglard.net/shadowmapping/index.php

Mathematics

Wolfram Mathworld
http://mathworld.wolfram.com
Fractals
http://users.erols.com/ziring/mandel.html
http://66.39.71.195/Derbyshire/manguide.html
http://davis.wpi.edu/~matt/courses/fractals/index.htm
http://www.fractalforums.com/

Matrix and Vector Libraries

gl-matrix.js
https://github.com/toji/gl-matrix
sylvester
http://sylvester.jcoglan.com/
webgl-mjs
http://code.google.com/p/webgl-mjs/
Benchmarks
http://stepheneb.github.com/webgl-matrix-benchmarks/matrix_benchmark.html

Mesh File Formats

Wavefront (obj) format
http://en.wikipedia.org/wiki/Wavefront_OBJ
Collada format
http://en.wikipedia.org/wiki/COLLADA
Three.js internal JSON format
https://github.com/mrdoob/three.js/wiki/JSON-Model-format-3.0

Performance and Best Practices

Mozilla Developer Network Best Practices
https://developer.mozilla.org/en/WebGL/WebGL_best_practices
Gregg Tavares Google I/O 2011
http://www.youtube.com/watch?v=rfQ8rKGTVlg
http://games.greggman.com/game/webgl-techniques-and-performance/
http://static.googleusercontent.com/external_content/untrusted_dlcp/www.google.com/en//events/io/2011/static/notesfiles/WebGLTechniquesandPerformancenotes.pdf
Profiling with about: tracing
http://www.html5rocks.com/en/tutorials/games/abouttracing/
Typed Arrays
http://www.html5rocks.com/en/tutorials/webgl/typed_arrays/

Physics

Learning
http://www.physicsclassroom.com
WebGL Demos
http://www.ibiblio.org/e-notes/webgl/gpu/contents.htm
Javascript Libraries:
Box 2D Ports
http://code.google.com/p/box2dweb/
https://github.com/kripken/box2d.js
Bullet Port
https://github.com/kripken/ammo.js/
Cannon
https://github.com/schteppe/cannon.js
physi.js
http://chandlerprall.github.com/Physijs/
Tutorials
http://blog.sethladd.com/search/label/box2d
http://learningthreejs.com/blog/2012/06/05/3d-physics-with-three-js-and-physijs/

WebGL - General

Current browser support
http://caniuse.com/#search=webgl
Khronos group wiki
http://www.khronos.org/webgl/wiki/Main_Page
http://www.khronos.org/webgl/wiki/Tutorial#Creating_the_Shaders
WebGL Specification
http://www.khronos.org/registry/webgl/specs/latest/
Learning WebGL
http://learningwebgl.com/blog/
Mozilla Developer area
https://developer.mozilla.org/en/WebGL
Opera Developer area
http://dev.opera.com/articles/view/porting-3d-graphics-to-the-web-webgl-intro-part-2/
Reference Card
http://www.khronos.org/files/webgl/webgl-reference-card-1_0.pdf
Presentations
http://www.khronos.org/webgl/wiki/Presentations
Tutorials
'http://www.html5rocks.com/en/features/graphics
Blending
http://mrdoob.github.io/webgl-blendfunctions/blendfunc.html

WebGL - Future

Challenges and predictions
http://www.irrlicht3d.org/pivot/entry.php?id=1255
http://codeflow.org/entries/2011/sep/11/webgl-and-html5-challenges-for-the-future/
http://www.tnl.net/blog/2011/10/23/webgl-and-the-future-of-the-web/
Support statistics
http://caniuse.com/#feat=webgl
http://webglstats.com/
Extension Registry
http://www.khronos.org/registry/webgl/extensions/

WebGL SL (OpenGL ES SL)

OpenGL ES 2.0 Shading Language version 1.0
http://www.khronos.org/registry/gles/specs/2.0/GLSL_ES_Specification_1.0.17.pdf
WebGL quick reference card available
http://www.khronos.org/files/webgl/webgl-reference-card-1_0.pdf
Online GLSL editors
http://webglplayground.net/
http://www.kickjs.org/example/shader_editor/shader_editor.html
Existing shaders
http://code.google.com/p/glslang-library/source/browse/trunk/trunk/glslang/shaders/material/