Why learn 3D graphics for the web?
The web is all about communication. From its earliest incarnation as a text-only format, to the latest multimedia, multi-tiered, multi-server, multi-database applications, the core principal underlying the web is the transmission of information – whether for product, projects, networking or play.
We have come a very long way from the days of the Mosaic web browser, first released over 20 years ago. Modern browsers are now fully-featured multimedia engines, capable of rendering animated text in a myriad of fonts, images, video, and audio. Browser applications can now use your webcam, your microphone, and interface with new technology such virtual headsets and motion-control devices.
Front and center in this new world are 3D rendering technologies. Real-time 3D graphics refers to the idea of rendering (drawing) a virtual scene inside a web page (or section of a page) which the user can move and manipulate. In offline contexts, most people will be familiar with real-time 3D graphics applications from having seen or played video games. But we are only beginning to scratch the surface of the possibilities for real-time 3D applications, from virtual worlds, to augmented reality, to marketing.
The web is actually an ideal place to take your first steps in the world of 3D graphics. Modern, high-level APIs such as Three.js abstract much of the heavy lifting, and the days when you needed university-level linear algebra in order to draw a box on the screen are long gone (though… linear algebra is of course very interesting, for those who wish to pursue it!).
In this course, we present a gentle introduction to 3D graphics for current web developers who want to see what all the fuss is about. We hope you enjoy it.
© Alun Evans, Universitat Pompeu Fabra