An introduction to WebGL