Kolejna recenzja książki na koncie toruńskiego JUGowicza! Tym razem Maciej Mikulski podzielił się swoimi wrażeniami z lektury Three.js Essentials autorstwa Josa Dirksena.


Three.js Essentials

Create beautiful visualizations and 3D scenes using Three.js with this practical, example-rich book. Learn all the core concepts of Three.js, and whether you are targeting mobile devices or desktop browsers, you will gain the necessary skills to build a 3D application and improve web performance.

From setting up a development environment and creating your first Three.js scene, you will quickly dive into more complex scene-making. Discover a variety of possible scenes from how to make a rotating planet with data overlay to mini games. Through these examples, you will be shown an array of skills from using materials, controls, and lighting to creating particle systems and geometries from scratch.

By the end of this book, you’ll be able to effectively and confidently create 3D scenes using different lights and materials, create visualizations using particle systems, animate web pages, and incorporate Blender in your 3D workflow.


Jos Dirksen has worked as a software developer and architect for more than a decade. He has quite a lot of experience in a large range of technologies that range from backend technologies, such as Java and Scala, to frontend development using HTML5, CSS, and JavaScript. Besides working with these technologies, he also regularly speaks at conferences and likes to write about new and interesting technologies on his blog. He also likes to experiment with new technologies and see how they can be best used to create beautiful data visualizations, the results of which you can see on his blog at smartjava.org.


Three.js Essentials by Jos Dirksen (published by PacktPub) is a great introduction to using Three.js library that enables you to render interactive 3D graphics in modern web browsers. Rendering 3D in browsers without plugins become available thanks to WebGL API that has been implemented in all major browsers on desktop computers as well as on mobile ones. Using the API is complicated so the best way to get it running is by using library that takes care of browser differences and gives you unified methods for dealing with common tasks. The best choice is the open source library Three.js and book by Jos Dirkson is the best introduction for this.

Author walks through all essential steps needed to build a 3D scene in a browser. Every chapter of the book presented in the form of tutorial with accompanying code examples teaches basic techniques and shows direction for further exploration. First chapters shows how to establish basic 3D scenes with lighting and controls, followed by creating models and adding textures, normal maps, specular maps and more. Next you will learn how to create geometries programmatically with help of 3rd party tools like trees or noise generators. On top of this author teaches you how to use Three.js to visualize Audio Data with particle system.

Book covers also CSS3DRenderer that allows building 3D views with CSS3 3D Transformations instead of WebGL Renderer.

Last chapter describes basic workflow for exporting models and animations from Blender - 3D modeling open source tool. Blender combined with Three.js enables you to bring 3D models and animations to a browser very quickly. For example this is a great way for bringing 3D scanned models into your website.

Step by step tutorials from the book help you understanding how Three.js works and quickly build skills needed to use it on your own projects. Only drawback I found while going through the book is that you can find missed steps while going through more advanced tasks, so you have to dive into JavaScript examples attached to the book to find differences between consecutive lessons. On the other hand if you have basic understanding of JavaScript you will find these in no time and this exercise will help you better understand Three.js.

In my opinion this book is a great start for everyone interested into bringing 3D to web. I would recommend this book for web developers that want to expand their skill set, 3D designers that would like to present their models directly on the web and game developers researching replacement for plugin based (Flash, Unity) 3D rendering in browsers. Think about the possibilities for combining web 3D with upcoming technologies like Google Cardboard or Samsung VR that will possibly bring 3D viewing experience to casual users.

Rating: 4/5


Maciej Mikulski

Web i Android developer działający pod szyldem Sparklab.pl. Łączy pasję programistyczną z działalnością biznesową i marketingową. Współzałożyciel Mission: ToRun – toruńskich spotkań dla przedsiębiorców.

Szukamy kolejnych odważnych

Jeśli ktoś z Was chciałby otrzymać kopię wybranej przez siebie książki w zamian za jej recenzję, to zapraszamy do odpowiedniego wątku na naszej grupie dyskusyjnej. Dzięki partnerstwu z wydawnictwami Manning Publications Co., O’Reilly Media, Packt PublishingApress macie do wyboru bardzo szeroki wachlarz książek o różnorodnej tematyce.