New Course: Beginning Metal

Check out our new course on Beginning Metal, which teaches you how to get started with Metal, Apple’s low-level GPU access API. Covers the 3D graphics pipeline, shaders, lighting, matrix transformations, and even making a simple 3D game engine! By Caroline Begbie.

Leave a rating/review
Save for later
Share

Contents

Hide contents

New Course: Beginning Metal

3 mins

Today I’m happy to announce my brand new course on raywenderlich.com: Beginning Metal!

Metal is Apple’s low-level GPU access API. It’s the underlying framework for all of Apple’s graphics and game APIs such as Core Animation, Core Graphics and SpriteKit. And we’re able to hook into Metal when we need to render 3D graphics or do any heavy parallel computation.

This is a course for complete beginners to Metal. It’s perfect if you want to gain a better understanding of how 2D and 3D graphics actually works under-the-hood in iOS.

It’s also fully up-to-date with Swift 3, Xcode 8, and iOS 10!

Here’s an overview of what’s inside:

MetalPipeline

Videos 1-2: 3D Graphics Basics. You’ll start by learning what the GPU does and what the graphics pipeline is.

Triangles

Videos 3-4: Hello, Metal! You’ll then move on to the Hello World of graphics – rendering triangles.

struct Constants {
  float animateBy;
};

vertex float4 vertex_shader(const device packed_float3 *vertices [[buffer(0)]],
                            constant Constants &constants [[buffer(1)]],
                            uint vertexId [[vertex_id]]) {
  float4 position = float4(vertices[vertexId], 1);
  position.x += constants.animateBy;
  return position;
}

Video 5: Metal Shaders. Shader functions are little programs that run on a GPU. You’ll learn about the Metal Shading Language, how shaders fit into the pipeline, and how to position and color vertices.

TextureCoords

Video 6: Texturing. You’ll learn how to map textures to your model’s vertices to make your graphics start looking great!

3DModels

Videos 7-8: 2D to 3D Matrix Transformations. Probably the most complex aspect to 3D is understanding how transforms work, and how amazing matrices are. You’ll learn how to set up a series of matrix transformations to move your app from 2D to 3D.

Mushroom

Videos 9-10: Model I/O. Just last year, Apple introduced Model I/O. You’ll learn how to use this to import models from Blender or other 3D modeling apps with ease.

Mushroom2

Videos 11-12: Lighting. You’ll learn how to implement lighting with a simple shading method called Phong, using ambient, diffuse and specular lighting.

Game

Videos 13-15: Making a Simple Game Engine. By this point you’ll have learned enough to put it all together to create a simple 3D app, so you’ll learn how to create a simple game engine and make a Breakout clone!

Where To Go From Here?

Want to check out the course? The first two parts are available now for free:

The rest of the course is for raywenderlich.com subscribers only. Here’s how you can get access:

  • If you are a raywenderlich.com subscriber: You can access to the first three parts of Beginning Metal today, and the rest will be coming out in the next few weeks.
  • If you are not subscribed yet: What are you waiting for – subscribe now to get access to our new Metal course and our entire catalog of over 500 videos.

We hope you enjoy, and stay tuned for more new Swift 3 courses and updates to come! :]

Contributors

Over 300 content creators. Join our team.