In DetailThree.js is a JavaScript 3D library that offers a wide range of features for creating and displaying stunning 3D computer graphics on a web browser in an intuitive manner using JavaScript without having to deal with the complexity of a WebGL low-level API. Even though WebGL makes it possible to create 3D graphics in the browser without having to use plugins, programming WebGL, however, is hard and complex. This book shows you how Three.js allows you to be independent of browser plugins.
If you are an experienced web designer who wants to set the tone for an immersive design environment in your applications then this book is for you.
"Learning The JavaScript 3D Library for WebGL" is a practical, example-rich book that will help you to master all the features of Three.js. With this book, you’ll learn how to create and animate gorgeous looking 3D scenes directly in your browser utilizing the full potential of WebGL and modern browsers without having to learn WebGL.
"Learning The JavaScript 3D Library for WebGL" starts by going over the basic concepts and building blocks used in Three.js. From there on, it will expand on these subjects using extensive examples and code samples. This will allow you to learn everything you need to know about Three.js in an easy and interactive manner.
Besides the basic concepts, this book will show you how you can create realistic looking 3D objects using materials and textures as well as how to load them from externally created models. You’ll learn how to easily control the camera using the Three.js build-in camera controls so you can fly or walk around the 3D scene you have created. You will also learn how to use morph and bones-based animation and how to add physics to your scene.
After reading Learning The JavaScript 3D Library for WebGL and playing around with the extensive set of examples, you’ll know everything that is required to create 3D animating graphics using Three.js that run in any browser.
ApproachThis book contains an extensive set of practical examples and an easy-to-follow approach to creating 3D objects.
Who this book is forThis book is great for anyone who already knows JavaScript and who wants to start creating 3D graphics that run in any browser. You don’t need to know anything about advanced math or WebGL; all that is needed is a general knowledge of JavaScript and HTML. The required materials and examples can be freely downloaded and all tools used in this book are open source.
Modern web browsers have evolved from simple document renderers to complex runtime platform for rich applications. One of the new exiting possibilities is the rendering of interactive 3D graphics within the browser without the use of plug-ins. This is the purpose of WebGL (Web Graphics Library) and Three.js. WebGL is a new web technology that brings hardware-accelerated 3D graphics to the browser without installing additional software, and Three.js is a lightweight cross-browser JavaScript library/API, that will you ease your way into WebGL. In order to overcome the learning curve of these new technologies, comes to the rescue the new book from 'Packt Publishing' , 'Learning Three.js: The JavaScript 3D Library for WebGL'. This is definitely the book you need to start diving into these new possibilities, starting from the core to the most advanced issues of the technology. The first two chapters deal with the core of Three.js (set up of the environment, rendering objects, Adding materials, lights, shadows, and working with scenes). The next chapters will teach you how to add light sources, materials and work with complex geometries. In the last third of the book you will find more advanced topics like particles and animations, and the integration of Three.js with Physijs, which allows you to introduce physics into your 3D scene. Each subject is explained using extensive examples that you can directly use and adapt for your own purposes. Once you will complete the book you will be able to create and animate beautiful 3D graphics directly in the browser, thus enhancing your application to be at the frontend of web development, with much richer user experience.
The publisher gave me a review copy of the book. I've made through the first half of it so far, but feel it's enough to make an initial impression.
"Learning Three.js: The JavaScript 3D Library for WebGL" is comprehensive, and deals not only with the most of Three.js, but also with some related tools and libraries (like Physijs). It contains many colorful illustrations (at least in e-book editions, can't say for printed version though) which is quite important given the visual nature of the subject. It is often easier to show what an example code renders than to explain it in the text. The examples themselves usually provide widgets that allow to change scene parameters and see what happens. Despite that, the examples are quite simple in sense they don't do anything very useful. That would be good for a magazine, but in a book I'd prefer to see bigger, more real-world examples (maybe a 3D game or graph plotter?) that help to understand how to use Three.js in context.
The book is quite practical. You'll quickly learn how to perform some common tasks with Three.js, and the author also gives performance-related advices. However, this is also a downside: while describing "how", the book often doesn't say "why". Good for having a job done, not perfect for understanding how the library works.
It is said that no prior experience with math or WebGL is required, however I found it useful to know some basic 3D and GLSL to make the most of the book. Otherwise, it is easy to understand and I can recommend the book if you need to quickly build a 3D JavaScript application and don't mind following a how-to approach.
This book aims to teach you how to draw and animate 3D scenes in JavaScript using WebGL. It uses a library called Three.js which makes it easier to interact with WebGL. It starts off with the basics of explaining the basic Three.js concepts such as a scene, camera and renderer. Then it moves on slowly to introduce new concepts including how to draw different kinds of 3D shapes, using light sources and textures. The book does a good job of building up your skills step by step so you’ll probably want to read it in order.
In later chapters it gets into some pretty advanced concepts such as lens flares, using different kinds of materials and textures, how to do 3D animations and using physics with another JS library called Physijs. By the end of this book you should be able to do some pretty cool stuff on your own.
Overall I think this book does a good job of explaining how to use WebGL through Three.js to get you started with creating 3D images and animations in the browser. The author really seems to be an expert in this field. There are also lots of pictures, which I appreciate because I can see exactly what the author is talking about. There are a lot of code samples which are clearly explained.
I've been involved in the reviewing process of this book, so I had the opportunity to read the single chapters as they were crafted by the author. I didn't know this astonishing library before but it really engaged me and this book gives the opportunity to understand how to build eye-catching animations and to also learn some key concepts of 3D programming. A lot of examples are given and the book starts explaining 3D imaging basics leading the reader through a marvellous world made up of scenes, lights, materials, cameras, geometries and a lot of working examples. You will hardly believe that you can do such wonderful thing with "only Javascript". I would absolutely recommend it, especially as a good starting point.
While it was great for getting an overall sense of the type of things that Three.js is capable of, I felt that many times, for brevity, chunks of code for an example would be left out, and you would have to search through the book for the other chunk to get certain examples to work. Also I felt that it lacked a certain depth at certain parts. For example, it seems like for some of the control, the author was extremely brief which was a bit annoying.
Still, the book was a great resource, as well as the online examples it provides. Those are probably the biggest help of the whole book.
This book is huge and the most complete reference of a programming language that I have ever seen...but...I would honestly would prefer a book with some real life examples instead of one that gives everything that can be done...as that for sure...comes next...
Good book! It is the kind of book I want to read. Before it I never knew where to begin and after reading it, I have enough knowledge to start toying with 3D. Job done!