Free Sample
+ Collection

Learning Three.js: The JavaScript 3D Library for WebGL

Jos Dirksen

Three.js makes creating 3D computer graphics on a web browser a piece of proverbial cake, and this practical tutorial makes it easier still. All you need to know is basic JavaScript and HTML.
RRP $29.99
RRP $49.99
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781782166283
Paperback402 pages

About This Book

  • Create and animate beautiful 3D graphics directly in the browser using JavaScript without the need to learn WebGL
  • Learn how to enhance your 3D graphics with light sources, shadows, and advanced materials and textures
  • Each subject is explained using extensive examples that you can directly use and adapt for your own purposes

Who This Book Is For

This 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.

Table of Contents

Chapter 1: Creating Your First 3D Scene with Three.js
Requirements for using Three.js
Getting the source code
Creating an HTML skeleton page
Rendering and viewing a 3D object
Adding materials, lights, and shadows
Expanding your first scene with animations
Using the dat.GUI library to make experimenting easier
Using the ASCII effect
Chapter 2: Working with the Basic Components That Make Up a Three.js Scene
Creating a scene
Working with the Geometry and Mesh objects
Using the available cameras for different uses
Chapter 3: Working with the Different Light Sources Available in Three.js
Exploring the lights provided by Three.js
Learning about the basic lights
Chapter 4: Working with the Three.js Materials
Understanding the common material properties
Starting with the simple Mesh materials (basic, depth, and face)
Learning about the advanced materials
Using the materials for a line geometry
Chapter 5: Learning to Work with Geometries
The basic geometries provided by Three.js
Chapter 6: Using Advanced Geometries and Binary Operations
Create a geometry by extruding
Creating 3D text
Using binary operations to combine meshes
Chapter 7: Particles and the Particle System
Understanding particles
Particles, the particle system, and the BasicParticleMaterial
Styling particles with the HTML5 canvas
Using textures to style particles
Creating a particle system from an advanced geometry
Chapter 8: Creating and Loading Advanced Meshes and Geometries
Geometry grouping and merging
Chapter 9: Animations and Moving the Camera
Basic animations
Working with the camera
Morphing and skeletal animation
Creating animations using external models
Chapter 10: Loading and Working with Textures
Using textures in materials
Advanced usage of textures
Chapter 11: Custom Shaders and Render Post Processing
Setting up the post processing
Post processing passes
Creating custom post processing shaders
Chapter 12: Adding Physics to Your Scene with Physijs
Creating a basic Three.js scene ready for Physijs
Material properties
Basic supported shapes
Using constraints to limit movement of objects

What You Will Learn

  • Create standard HTML skeleton and render loops for your Three.js projects
  • Learn how to use the different geometries that are provided by Three.js
  • Apply realistic lighting and shadows to the 3D objects you have created
  • Learn how the different types of materials in Three.js work and how they interact with your 3D objects and the rest of the environment
  • Use the different camera controls provided by Three.js to effortlessly navigate around your 3D scene
  • Work with a particle system to create snow, rain, and galaxy-like effects
  • Import and animate models from external formats such as OBJ, STL, Collada, and much more
  • Create and run animations using either morph targets or bones animations
  • Use advanced textures on materials to create realistic looking 3D objects using bump maps, normal maps, specular maps, and light maps
  • Change the output of Three.js rendered using one of its post processing options
  • Interact directly with WebGL by creating custom vertex and fragment shaders
  • Apply physics to your 3D objects using the Physijs JavaScript library

In Detail

Three.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 Three.js: 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 Three.js: 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 Three.js: 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.


Read More