What is three.js ?
three.js engine’s functionality is similar to a frameworks’ in certain ways. Typically an engine provides developers with a certain platform that will manage certain tasks thus reducing the time wasted in handling processes, physics, AI, rendering, memory control etc… However in this case three.js will provide you with a renderer (<canvas>, <svg> and WebGL), and control over camera and viewport. The physics and animation work is up to the developer to work out. Nevertheless it’s a great start and a new concept in the web industry.
Google chrome is the browser recommended to use in such development scenarios; It is HTML5 compatible to a certain extent and much better than FireFox, Opera, and definitely better than IE. In addition, Chrome’s JS engine is very fast and smooth.
A Small note to be added regarding the Audio Processing image above. The concept is great, it’s a shame the browser doesn’t process the audio and return the amplitude as an instance variable of the audio object. The amplitude is hard coded, in other words if the audio track is changed the visualization will stop working. Yet, it’s a good implementation of audio visualization.
You can find more details about Mr.Doob and his experimentation projects on his blog. Follow him on twitter for interesting releases and hopefully be inspired to contribute to such promising project.
Last but not least, the code for three.js can be found on GitHub, simply follow the link below.