3D Graphics with Metal

In this course you'll get an introduction to computer graphics using Metal on the GPU. You'll render 3D models and even write a simple game using your very own game engine. By Caroline Begbie.

Leave a rating/review
Save for later
Comments
Share

Who is this for?

This course is for developers interested in understanding low-level computer graphics while achieving high performance in rendering 3D scenes. You’ll need to be comfortable with Xcode and Swift and be prepared to understand some math at a conceptual level.

Covered concepts

  • The Metal Pipeline
  • 3D Models
  • Coordinate Spaces
  • Lighting
  • Materials and Textures
  • Making a game

Part 1: Introduction to Metal Rendering

01
Toggle description

Let's review what you'll be learning in this part of the course, and why it's important.

Toggle description

Learn how to initialize Metal in Swift.

Toggle description

Practice setting up the Metal code to initialize your app.

Toggle description

Learn about the graphics pipeline

Shaders 6:52
Toggle description

Write shaders to position a triangle

Toggle description

Perform a challenge to render a quad using the GPU.

Toggle description

Set up Metal buffers to hold your data in a format the GPU can read.

Toggle description

Get better performance with indexed drawing.

Toggle description

Vertex descriptors give your data formats flexibility. Learn how to use them in this video.

3D Models 4:25
Toggle description

Examine a 3D model train in Blender.

Toggle description

Import and render a 3D model train.

Toggle description

Add color to your 3D renders.

Conclusion 1:58
Toggle description

Let's review where you are with your Metal skills and see what's next.

Part 2: Rendering in 3D

Toggle description

Let's review what you'll be learning in this part of the course, and why it's important.

Toggle description

Learn how to use matrices to position your 3D model.

Toggle description

Find out what coordinate are and how you use them.

Toggle description

Render with perspective using a projection matrix.

Cameras 6:59
Toggle description

Write a camera class to control viewing of your scene.

Normals 5:50
Toggle description

Discover what surface normals are, and why they are useful.

Toggle description

Light your model with diffuse lighting and global ambience.

Toggle description

Learn how to make your models shiny.

Toggle description

Learn about transform hierarchies and what a scene graph is.

Toggle description

Abstract your game code away from Metal code and create a game scene.

Conclusion 1:11
Toggle description

Let's review where you are with your Metal skills and see what's next.

Part 3: Materials and Textures

Toggle description

Let's review what you'll be learning in this part of the course, and why it's important.

Materials 6:56
Toggle description

Find out what materials are and how you can render your model as the artist intended.

UV Maps 4:08
Toggle description

Learn about what UV maps are and examine them in Blender.

Toggle description

Learn how to load texture coordinates into your vertex descriptors.

Textures 5:37
Toggle description

Learn about Metal textures and how to render 3D models with an image texture.

Toggle description

Discover how to render models that may or may not have textures.

Toggle description

Find out how to re-use geometry for duplicate model rendering.

Instancing 6:38
Toggle description

Render one hundred trees with buttery smoothness.

Toggle description

Render one hundred trains complete with textures.

Conclusion 0:49
Toggle description

Let's review where you are with your Metal skills and see what's next.

Part 4: Make a Game

Toggle description

Let's review what you'll be learning in this part of the course, and why it's important.

Toggle description

Find out what game you'll make, and also discover model bounding boxes.

Toggle description

Add all your models to the game scene ready to play.

Collisions 4:34
Toggle description

Learn how to bounce a ball with collisions.

Toggle description

Make your game playable with keyboard interaction.

Toggle description

Learn how to add sound effects and background music to your game.

Game Over 4:45
Toggle description

Transition between game scenes when you win or lose the game.

Toggle description

Add a 3D model to the game over scene.

Conclusion 1:52
Toggle description

Let's review what we learned throughout the course.