What Is WebGL?
WebGL has been around for a few years now. It was standardized around 2011, and it didn't see a stable release until around 2013, but it began its life around 2006 like most specifications tend to do. So it is still relatively new, as far as technology is concerned, which is probably why you won't encounter it in your day to day web browsing. But hopefully that will change soon.
How Does WebGL Work?
The Best Features That WebGL Offers
- Runs on most modern browsers
- Doesn't rely on plugins or any other 3rd party software
Three.js includes the following features.
- Effects: Anaglyph, cross-eyed and parallax barrier
- Scenes: add and remove objects at run-time; fog
- Cameras: perspective and orthographic; controllers: trackball, FPS, path and more
- Animation: armatures, forward kinematics, inverse kinematics, morph and keyframe
- Lights: ambient, direction, point and spot lights; shadows: cast and receive
- Materials: Lambert, Phong, smooth shading, textures and more
- Shaders: access to full OpenGL Shading Language (GLSL) capabilities: lens flare, depth pass and extensive post-processing library
- Objects: meshes, particles, sprites, lines, ribbons, bones and more - all with Level of detail
- Geometry: plane, cube, sphere, torus, 3D text and more; modifiers: lathe, extrude and tube
- Data loaders: binary, image, JSON and scene
- Utilities: full set of time and 3D math functions including frustum, matrix, quaternion, UVs and more
- Export and import: utilities to create Three.js-compatible JSON files from within: Blender, openCTM, FBX, Max, and OBJ
Support: API documentation is under construction, public forum and wiki in full operation
Needless to say, it does alot. And there is a learning curve to the whole thing. There are full books that you can buy that cover Three.js in depth. And as far as learning WebGL goes, Three.js would be a great place to start that journey.
Why It's Important
Just a few years ago, flash was running the web. You needed it for everything, and that was a bad thing. You had to give this other entity, this more vulnerable entity, access to your private information in order to do some pretty basic things. For the past decade, the web has become pretty stagnant and pretty repetitive. The only real changes noticeable changes have been to design and to style. And updates in CSS and HTML have aided in that. WebGL is the next level of web development. It opens up an entirely new canvas for designers and developers to play around and tinker with. To get a look at what that future looks like, head on over to ChromeExperiements.com and be amazed by its awesome beauty!
Did you find this article helpful?
Stay up to date with my weekly coding tips!
Walter G. is a software engineer, startup co-founder, former CTO of several tech companies and currently teaches programming for a coding bootcamp. He has been blogging for the past 5 years and is an avid BMX rider, bio-hacker
and performance enthusiast.