O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Programming 3D Applications in HTML5 and WebGL

Video Description

Learn how to create high-performance, visually stunning 3D applications for the Web hands-on, using HTML5 and WebGL. With this interactive video course, you’ll learn by using the tools, frameworks, and libraries for building 3D models and animations, mind-blowing visual effects, and advanced user interaction in both desktop and mobile browsers.Led by Tony Parisi, a pioneer of 3D standards for the Web, this course provides a thorough grounding in theory and practice for designing everything from a simple 3D product viewer to immersive games and interactive training systems. This course is divided into two parts:Part 1—Foundations

  • Learn what’s possible with HTML5 and WebGL in the web browser
  • Delve into the anatomy of a WebGL application
  • Work with Three.js and Tween.js, the open source JavaScript 3D rendering and animation libraries
  • Explore 3D transforms, transitions, and animations with CSS
  • Use the 2D Canvas API to render 3D
Part 2—Application Development Techniques
  • Learn about the 3D content pipeline, including modeling and animation tools, converters, and file formats
  • Understand game engines and frameworks for building 3D applications, including Tony Parisi’s Vizi framework
  • Design and develop a simple 3D application by creating 3D content, behaviors, and interaction
  • Create 3D environments with multiple objects and complex interaction
  • Learn how to develop WebGL-based 3D applications for mobile browsers
Ideal for developers with Javascript and HTML experience, this video is based on Parisi’s book, Programming 3D Applications with HTML5 and WebGL from O’Reilly. Once you’ve completed this video course, you can dig even deeper into the subject with the book.

Table of Contents

  1. Lesson 1 - Introduction
    1. Introduction 00:20:51
  2. Lesson 2 - WebGL - Real-Time 3D Rendering
    1. WebGL: Real-Time 3D Rendering 01 - Introduction 00:07:40
    2. WebGL: Real-Time 3D Rendering 02 - The Anatomy of a WebGL Application 00:02:22
    3. WebGL: Real-Time 3D Rendering 03 - A Sample WebGL Program 00:26:54
    4. WebGL: Real-Time 3D Rendering 04 - Labs 00:04:46
    5. WebGL: Real-Time 3D Rendering 05 - Lesson Summary 00:02:09
  3. Lesson 3 - Three.js - A JavaScript 3D Engine
    1. Three.js: A JavaScript 3D Engine 01 - Introduction 00:03:36
    2. Three.js: A JavaScript 3D Engine 02 - An Overview of Three.js 00:05:18
    3. Three.js: A JavaScript 3D Engine 03 - A Simple Three.js Program 00:06:31
    4. Three.js: A JavaScript 3D Engine 04 - Adding Lighting to the Scene 00:02:25
    5. Three.js: A JavaScript 3D Engine 05 - Labs 00:04:37
  4. Lesson 4 - Graphics and Rendering in Three.js
    1. Graphics and Rendering in Three.js 01 - Introduction 00:00:18
    2. Graphics and Rendering in Three.js 02 - Geometry and Meshes 00:08:09
    3. Graphics and Rendering in Three.js 03 - The Scene Graph and Transform Hierarchy 00:07:58
    4. Graphics and Rendering in Three.js 04 - Materials 00:08:21
    5. Graphics and Rendering in Three.js 05 - Adding Realism with Multiple Textures 00:08:14
    6. Graphics and Rendering in Three.js 06 - Working with Lights 00:06:54
    7. Graphics and Rendering in Three.js 07 - Real-Time Shadows 00:06:49
    8. Graphics and Rendering in Three.js 08 - Shaders 00:05:49
    9. Graphics and Rendering in Three.js 09 - Lesson Summary 00:01:15
  5. Lesson 5 - 3D Animation
    1. 3D Animation 00 - Introduction 00:02:27
    2. 3D Animation 01 - Driving Animation with requestAnimationFrame() 00:02:02
    3. 3D Animation 02 - Programmatic Animation 00:03:50
    4. 3D Animation 03 - Animating Transitions Using Tweens 00:06:54
    5. 3D Animation 04 - Using Key Frames for Complex Animations 00:08:54
    6. 3D Animation 05 - Articulated Animation with Key Frames 00:02:02
    7. 3D Animation 06 - Using Curves and Path Following to Create Smooth, Natural Motion 00:01:31
    8. 3D Animation 07 - Using Morph Targets for Character and Facial Animation 00:03:07
    9. 3D Animation 08 - Animating Characters with Skinning 00:03:14
    10. 3D Animation 09 - Animating Using Shaders 00:07:58
    11. 3D Animation 10 - Labs 00:05:50
    12. 3D Animation 11 - Summary 00:03:19
  6. Lesson 6 - CSS3 - Advanced Page Effects
    1. CSS3: Advanced Page Effects 01 - Introduction 00:02:31
    2. CSS3: Advanced Page Effects 02 - CSS Transforms 00:11:28
    3. CSS3: Advanced Page Effects 03 - CSS Transitions 00:03:58
    4. CSS3: Advanced Page Effects 04 - CSS Animations 00:07:38
    5. CSS3: Advanced Page Effects 05 - Pushing the Envelope of CSS 00:05:44
    6. CSS3: Advanced Page Effects 06 - Lesson Summary 00:00:41
  7. Lesson 7 - Canvas - Universal 2D Drawing
    1. Canvas: Universal 2D Drawing 01 - Introduction 00:00:57
    2. Canvas: Universal 2D Drawing 02 - Canvas Basics 00:08:39
    3. Canvas: Universal 2D Drawing 03 - Rendering 3D with the Canvas API 00:07:18
    4. Canvas: Universal 2D Drawing 04 - Canvas-Based 3D Libraries 00:05:10
    5. Canvas: Universal 2D Drawing 05 - Using the Three.js Canvas Renderer 00:06:26
    6. Canvas: Universal 2D Drawing 06 - Lab 00:01:08
    7. Canvas: Universal 2D Drawing 07 - Lesson Summary 00:01:35
  8. Lesson 8 - The 3D Content Pipeline
    1. The 3D Content Pipeline 01 - Introduction 00:04:34
    2. The 3D Content Pipeline 02 - 3D Modeling and Animation Tools 00:02:20
    3. The 3D Content Pipeline 03 - 3D Repositories and Stock Art 00:02:03
    4. The 3D Content Pipeline 04 - Loading 3D File Formats 00:19:52
    5. The 3D Content Pipeline 05 - Lesson Summary 00:01:49
  9. Lesson 9 - 3D Engines and Frameworks
    1. 3D Engines and Frameworks 01 - Introduction 00:03:45
    2. 3D Engines and Frameworks 02 - A Survey of WebGL Frameworks 00:04:41
    3. 3D Engines and Frameworks 03 - Vizi: A Component-Based Framework for Visual Web Applications 00:03:51
    4. 3D Engines and Frameworks 04 - A Simple Vizi Application 00:09:37
    5. 3D Engines and Frameworks 05 - Summary 00:01:00
  10. Lesson 10 - Developing a Simple 3D Application
    1. Developing a Simple 3D Application 01 - Introduction 00:02:28
    2. Developing a Simple 3D Application 02 - Designing the Application and Creating the 3D Content 00:01:56
    3. Developing a Simple 3D Application 03 - Previewing and Testing the 3D Content 00:05:54
    4. Developing a Simple 3D Application 04 - Integrating the 3D Into the Application 00:04:53
    5. Developing a Simple 3D Application 05 - Developing 3D Behaviors and Interaction 00:07:55
    6. Developing a Simple 3D Application 06 - Lesson Summary 00:02:13
  11. Lesson 11 - Developing a 3D Environment
    1. Developing a 3D Environment 01 - Introduction 00:03:03
    2. Developing a 3D Environment 02 - Creating the Environment Art 00:00:57
    3. Developing a 3D Environment 03 - Previewing and Testing the Environment 00:09:05
    4. Developing a 3D Environment 04 - Creating a 3D Background Using a Skybox 00:05:21
    5. Developing a 3D Environment 05 - Integrating the 3D Content Into the Application 00:03:10
    6. Developing a 3D Environment 06 - Implementing First-Person Navigation 00:02:22
    7. Developing a 3D Environment 07 - Simple Collision Detection 00:02:38
    8. Developing a 3D Environment 08 - Working with Multiple Cameras 00:01:43
    9. Developing a 3D Environment 09 - Creating Timed and Animated Transitions 00:02:22
    10. Developing a 3D Environment 10 - Scripting Object Behaviors 00:03:38
    11. Developing a 3D Environment 11 - Rendering Dynamic Textures 00:04:42
    12. Developing a 3D Environment 12 - Lesson Summary 00:01:17
  12. Lesson 12 - Developing 3D for Mobile
    1. Developing Mobile 3D 01 - Introduction 00:02:37
    2. Developing Mobile 3D 02 - Developing for Mobile Browsers 00:03:23
    3. Developing Mobile 3D 03 - Debugging Mobile Functionality in Desktop Chrome 00:01:59
    4. Developing Mobile 3D 04 - Creating Packaged Web Apps 00:03:09
    5. Developing Mobile 3D 05 - Developing Native/HTML5 Hybrid Applications 00:09:29
    6. Developing Mobile 3D 06 - Mobile 3D Performance 00:05:29
    7. Developing Mobile 3D 07 - Lesson Summary 00:01:48