I plan to flesh this out into a full fledged blog post in the future. For now, this page contains links that complement my presentation at the Visualization Workshop during BEACON Congress 2013.
First and foremost, what is WebGL and why should I use it? In short, WebGL is a Javascript API for creating 2D and 3D graphics that runs in a modern Internet browser. In lieu of creating a separate executable for multiple systems (Windows, OS X, Linux, Mobile), a single implementation can be created in Javascript and placed on a webpage. Users can then access that site from any operating system and see the simulation without the headaches associated with trying to install packages on a system.
Coupled with supplementary code, WebGL can be used to create interactive demos or even present simulations directly in a web browser. Conway’s Game of Life has been implemented many times in WebGL, but I have found this one to be particularly interesting. Additional demos for games, simulations and scientific visualizations can be found at http://www.chromeexperiments.com/webgl/. Disclaimer: Try not to spend too much time on the site!
WebGL is best developed using Javascript based libraries such as ThreeJS which provide wrappers around the core code to make implementation easier.
How do I learn to construct visualizations?
There are many tutorials and courses available to learn the finer points of WebGL. I recommend the Udacity course on Interactive 3D Graphics which provides a quick, well organized introduction to the process of constructing a WebGL based visualization.
For area specific examples, I recommend performing a good old fashioned Google search with information unique to your field. Odds are, there are similar projects that you can borrow inspiration/techniques from. A second source of information can be the examples site linked earlier as there are some great visualizations/demos to look at and use.
Where can I get further information?
Immersing yourself in a topic through discussion can really help to gain familiarity. Some sources that I have found to be useful are the WebGL and ThreeJS subreddits.
As always, feel free to contact me with any questions/suggestions for additions to this post!
Pingback: Evolution and Software Engineering | erik fredericks
Pingback: BEACON Researchers at Work: Evolution and Software Engineering | BEACON