Skip to content

Interactive 3D Graphics

Free Course

Creating Virtual Worlds

Related Nanodegree Program

Introduction to Programming

In collaboration with
  • Autodesk

About this course

This class will teach you about the basic principles of 3D computer graphics: meshes, transforms, cameras, materials, lighting, and animation.

What you will learn

  1. Introduction
    • Motivation and a trip down the graphics pipeline, laying out the fundamental processes.
  2. Points, Vectors, and Meshes
    • The basics of 3D geometry definition.
  3. Colors and Materials
    • Color representation, material computations, transparency.
  4. Transforms
    • Translation, scale, rotate and how to properly combine all these.
  5. Matrices
    • Transform representation and how to fully control these.
  6. Lights
    • Directional and point light sources.
  7. Cameras
    • How the camera is defined.
  8. Textures and Reflections
    • Color and opacity textures, along with reflection and normal mapping.
  9. Shader Programming
    • An introduction to programming vertex and pixel shaders.
  10. Interaction and Animation
    • How to select and make objects move.

Prerequisites and requirements

Knowing how to program in some language is all you’ll need to get started. Some knowledge of JavaScript is useful later on if you wish to make your projects more interactive and engaging. Familiarity with vectors and matrices will ease your way but is not critical.

To be able to see the interactive demos and do programming assignments you need a browser that supports WebGL technology. An up to date version of Chrome or Firefox will work (see our FAQ for more information). You can test if your browser supports this technology by visiting the WebGL project homepage.

Almost all programming will be done in JavaScript using three.js library/API.

About Autodesk

This course is developed in conjunction with Autodesk, a worldwide leader in 3D design, engineering, and entertainment software.

See the Technology Requirements for using Udacity.

Why take this course?

By the end of this class you will know enough to make an animated 3D demo program that runs in a web browser, while also understanding the basic principles of how realistic computer images are generated.

You will also have a portfolio of small interactive programs that run in any web browser that supports WebGL.

Learn with the best.

  • Eric Haines
    Eric Haines


  • Gundega Dekena
    Gundega Dekena