So you’ve decided to take the plunge and start learning the three.js library, amazing work! I myself have been using it daily for the last 5 years and must say it has matured quite a bit since then and is the best choice to get started in 3D programming for the web.
I’ve purchased and read every single three.js book available and compiled a list of the top 4 books that will guide you on your journey. These 4 books start by covering the basics to advanced features of the library, then we move onto a “cookbook” approach where you can try different little projects – it works great as a reference. Finally, we get into game development – highly recommended! And the last book is for those who really want to get their hands dirty and learn WebGL, which is what three.js is built on top of.
Before diving into the reviews, I highly recommend buying the main “Learning Three.js” book and the “Three.js Cookbook” together as you can save a ton of money and they really go hand in hand. Read the first book, then move onto the cookbook to create little projects and really push three.js to its limit. Anwyays, here we go!
- Entry level to expert, start learning three.js right away with zero 3D programming experience.
- Covers all core concepts behind how the library works
- Very clean code examples that are easy to understand
The Learning Three.js book by Packt Publishing is the single best way to get started for a 3D web programming newcomer. By the end of the first chapter, you’ve already created a pretty cool scene in three.js – I think this really helps to keep people hooked.
By the end of chapter 5 you’ll be very knowledgable in the core concepts such as geometries, meshes, lighting, and the main components which are a camera, scene and renderer.
Chapter 6 and onwards brings you into more advanced concepts and you’ll learn how to create particle systems, smart loading objects, interacting with 3D models, animations, and much more. You also get a taste of physics in the last chapter.
In conclusion, this book really covers everything you need to know to cover all of what three.js can do. There are of course many more features, but it gives you a very good idea of its capabilities, and will know how to come up with solutions to problems very quickly.
- Over 50 practical examples using three.js
- In-depth look at a lot of important library components
- Good for beginners, perfect for those who want to expand their three.js toolset
- Perfect reference for future projects
I must admit, I’m a sucker for cookbooks. While I enjoy sitting down and going through a book from start to finish, I also like the ability to go directly to a chapter or section of a book and start taking action right away. This book does an amazing job of not making the sections dependant of one another, hence the cookbook name.
Chapter 1 & 2 cover a lot of core concepts but with in-depth practical examples. For instance, one of them is rotating an object around its own axis. This is a very common question that a lot of three.js developers might not know off the top of their head. The Three.js Cookbook provides a super simple solution to help you accomplish that, and many other tasks.
Beyond chapter 4 it goes really in depth and covers topics such as postprocessing, animation, physics, using custom shaders, the list goes on! And its not just a primer, we create a useful example in every single section.
What I also liked in early chapters is that it shows the reader how to setup different local servers depending on their stack, and even covers common bugs such as the dreadful cross-origin issue that probably every three.js first timer has encountered.
In my opinion, this book is the perfect compliment to the first Learning Three.js book above, and I highly recommend buying both.
Game Development with Three.js
- Learn everything you need to know about building high performance games with beautiful graphics
- Lean and to the point learning experience – no fluff!
- Develop games that can be played in any modern browser
- Complete functioning (and fun) game by the end of the book
I find it very tough to find good niche books out there that actually help me learn something rather than follow someone build something and learn nothing. The Game Development with Three.js book does an excellent job of teaching you along the way while building a practical game with tons of features!
Quick note that while the author does a great job teaching along the way, he does not discuss core concepts. It is under the assumption that you have a pretty good understanding of three.js. You don’t need to be a pro, but at least under stand the core concepts. If you don’t, I highly recommend the first book I reviewed above.
The game you develop is fairly simply but integrates features such as real world lighting, using keyword movements (WASD), collission detection, designing maps, integrating particle systems, and so much more. It really is the complete package when it comes to designing games for three.js.
What I really liked was how he covered performance in the last chapter. You’ll learn about bandwidth and network constraints, rendering optimizations, managing battery life, and much more. It’s really the best three.js game development book currently on the market – and is still really up to date!
WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL
- Create sophisticated 3D graphics inside of web browsers
- Build high performant applications without the need for plugins
- Run applications on all devices, mobile browsers too!
- Learn the bare bones which power the three.js library
The three.js books I reviewed above really help you become an expert in 3D programming for the web. Like many of us know, three.js is simply a framework built on top of WebGL to help it become a little more attractive.
WebGL is crazy powerful, but has a steep learning curve and really makes you wish you paid attention in grade 11 math. Remember when the class clown asked when we’ll ever use trigonometry in class? Well this is it. Three.js of course requires you to know it to a certain extent, but you can get away with it and learn along the way.
Given the WebGL learning curve, this book breaks it down and helps readers understand it in the best possible way. Trust me, I was terrified of WebGL at first – but this book helped me enormously.
The author starts with core concepts as expected, but even at a lower level than three.js does above. You will learn about vertices, drawing basic shapes, and simple transformations. As he dives deeper, you’ll uncover more interesting and advanced topics such as shaders, matrices, sophisticated lighting, and even cool stuff like implementing fog and shadows.
If WebGL is on your radar, this book covers it. Period.