Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Coding Adventure: Software Rasterizer

Sebastian Lague via YouTube

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Embark on a 50-minute coding adventure that explores the creation of a software rasterizer from scratch. Learn how to transform mathematical dot products into a fully realized 3D world through step-by-step development. The tutorial begins with creating the first image and delves into triangle mathematics before testing implementations. Follow along as the video demonstrates reading 3D models, implementing orthographic projection, adding rotation capabilities, and incorporating back-face culling. Discover how to implement perspective rendering with field of view controls, manage depth buffering, and transition to real-time rendering. Advanced topics include camera systems, texture mapping, directional lighting, near-plane clipping, and procedural terrain generation. The adventure concludes with optimization techniques and a final demonstration showcasing all implemented features. Source code is available for patrons early and will be publicly released on June 14.

Syllabus

00:00 Intro
00:32 The First Image
02:39 Triangle Maths
05:36 Testing the Triangles
07:30 Reading a 3D Model
09:13 Orthographic Projection
10:20 Single-Axis Rotation
12:37 Back-Face Culling
13:42 Another Axis of Rotation
15:34 Perspective and Field of View
19:22 Monkey! and the Depth Buffer
25:30 Real-Time Rendering
26:31 Camera and View Space
31:22 Depth Bug
33:03 Textures
35:00 Directional Lighting
38:52 Boy and Fox
40:35 Near-Plane Clipping
43:49 Procedural Terrain
45:18 Some Quick Optimizations
46:32 Odds and Ends
48:40 Final Demo

Taught by

Sebastian Lague

Reviews

Start your review of Coding Adventure: Software Rasterizer

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.