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

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.
Preview in Mapt

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.
Mapt Subscription
FREE
$29.99/m after trial
eBook
$21.00
RRP $29.99
Save 29%
Print + eBook
$49.99
RRP $49.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$21.00
$49.99
$29.99p/m after trial
RRP $29.99
RRP $49.99
Subscription
eBook
Print + eBook
Start 30 Day Trial

Frequently bought together


Learning Three.js: The JavaScript 3D Library for WebGL Book Cover
Learning Three.js: The JavaScript 3D Library for WebGL
$ 29.99
$ 21.00
Learning Three.js – the JavaScript 3D Library for WebGL - Second Edition Book Cover
Learning Three.js – the JavaScript 3D Library for WebGL - Second Edition
$ 39.99
$ 28.00
Buy 2 for $35.00
Save $34.98
Add to Cart
Subscribe and access every Packt eBook & Video.
 
  • 5,000+ eBooks & Videos
  • 50+ New titles a month
  • 1 Free eBook/Video to keep every month
Start Free Trial
 

Book Details

ISBN 139781782166283
Paperback402 pages

Book Description

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.

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
Summary
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
Summary
Chapter 3: Working with the Different Light Sources Available in Three.js
Exploring the lights provided by Three.js
Learning about the basic lights
Summary
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
Summary
Chapter 5: Learning to Work with Geometries
The basic geometries provided by Three.js
Summary
Chapter 6: Using Advanced Geometries and Binary Operations
ConvexGeometry
LatheGeometry
Create a geometry by extruding
Creating 3D text
Using binary operations to combine meshes
Summary
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
Summary
Chapter 8: Creating and Loading Advanced Meshes and Geometries
Geometry grouping and merging
Summary
Chapter 9: Animations and Moving the Camera
Basic animations
Working with the camera
Morphing and skeletal animation
Creating animations using external models
Summary
Chapter 10: Loading and Working with Textures
Using textures in materials
Advanced usage of textures
Summary
Chapter 11: Custom Shaders and Render Post Processing
Setting up the post processing
Post processing passes
Creating custom post processing shaders
Summary
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
Summary

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

Authors

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
Summary
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
Summary
Chapter 3: Working with the Different Light Sources Available in Three.js
Exploring the lights provided by Three.js
Learning about the basic lights
Summary
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
Summary
Chapter 5: Learning to Work with Geometries
The basic geometries provided by Three.js
Summary
Chapter 6: Using Advanced Geometries and Binary Operations
ConvexGeometry
LatheGeometry
Create a geometry by extruding
Creating 3D text
Using binary operations to combine meshes
Summary
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
Summary
Chapter 8: Creating and Loading Advanced Meshes and Geometries
Geometry grouping and merging
Summary
Chapter 9: Animations and Moving the Camera
Basic animations
Working with the camera
Morphing and skeletal animation
Creating animations using external models
Summary
Chapter 10: Loading and Working with Textures
Using textures in materials
Advanced usage of textures
Summary
Chapter 11: Custom Shaders and Render Post Processing
Setting up the post processing
Post processing passes
Creating custom post processing shaders
Summary
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
Summary

Book Details

ISBN 139781782166283
Paperback402 pages
Read More

Read More Reviews

Recommended for You

Mastering Web Application Development with AngularJS Book Cover
Mastering Web Application Development with AngularJS
$ 26.99
$ 5.40
Responsive Web Design with HTML5 and CSS3 Book Cover
Responsive Web Design with HTML5 and CSS3
$ 23.99
$ 4.80
Data Visualization with D3.js Cookbook Book Cover
Data Visualization with D3.js Cookbook
$ 26.99
$ 18.90
WebGL Beginner's Guide Book Cover
WebGL Beginner's Guide
$ 26.99
$ 18.90
Object-Oriented JavaScript - Second Edition Book Cover
Object-Oriented JavaScript - Second Edition
$ 29.99
$ 21.00
Game Development with Three.js Book Cover
Game Development with Three.js
$ 17.99
$ 12.60