Review: Professional WebGL Programming: Developing 3D Graphics for the Web by Andreas Anyuru
Of the top WebGL books I’ve read so far, I think I can say this one is the best. Not only is it well written, but it includes lots of detail about how rendering APIs work, 3d math, lighting concepts, and even some performance considerations at the end. It’s not a very long book, but it covers the fundamentals well. I also enjoyed that the author stuck to the base WebGL API and did not confuse matters with frameworks like Three.js. He did use some libraries, like glMatrix in particular, but this is fair as coding the math by scratch (while doable) is out of scope of the material presented.
There are quite a lot of topics covered, even for a somewhat smaller book. I read on a 10″ Android tablet and everything was formatted correctly and looked nice. The author first explains what a graphics API is and the graphics pipeline. Then he goes on to show differences with other APIs like DirectX and OpenGL, and dives into 3d mathematics briefly. He continues with WebGL concepts like drawing a triangle, debugging, transformations, handling lost context and updating, textures, basic lighting techniques, and caps off with some optimizations tips. While there is quite a lot that is not included, I found the coverage to be sufficient and I could tell the author knew what he was talking about.
Overall, I feel good about this book. Andreas Anyuru is a talented author and explains everything very well, it makes it look easy. You still might want to combine this with some of the other books available to get the full picture, but this would be great as a first entry point into WebGL.