-
Урок 1.
00:12:24
1.01 Introduction and Learning Outcomes
-
Урок 2.
00:02:59
1.02 How to Take this Course
-
Урок 3.
00:02:37
1.03 Words of Encouragement
-
Урок 4.
00:10:00
2.01 Project Dependencies
-
Урок 5.
00:01:56
2.02 A Quick Note for Windows Users
-
Урок 6.
00:02:02
2.03 Project Folder Structure
-
Урок 7.
00:06:19
2.04 The Compilation Flow
-
Урок 8.
00:08:21
2.05 Working with Makefiles
-
Урок 9.
00:14:46
2.06 Configuring Visual Studio on Windows
-
Урок 10.
00:19:16
3.01 Creating an SDL Window
-
Урок 11.
00:19:54
3.02 Rendering an SDL Window
-
Урок 12.
00:20:51
3.03 Declaring a Color Buffer
-
Урок 13.
00:07:42
3.04 Allocating Memory and Freeing Resources
-
Урок 14.
00:17:14
3.08 SDL Texture
-
Урок 15.
00:08:31
3.09 Fullscreen Window
-
Урок 16.
00:02:59
3.10 Exercise. Drawing a Background Grid
-
Урок 17.
00:05:43
3.11 Drawing a Background Grid
-
Урок 18.
00:03:09
3.13 Exercise. Drawing Rectangles
-
Урок 19.
00:06:00
3.14 Creating a Function to Draw Rectangles
-
Урок 20.
00:11:20
4.01 Defining Header Files
-
Урок 21.
00:13:01
4.02 Coding New Header Files
-
Урок 22.
00:07:48
5.01 The Draw Pixel Function
-
Урок 23.
00:14:50
5.02 Vectors
-
Урок 24.
00:03:40
5.03 Declaring a Vector Type
-
Урок 25.
00:06:24
5.04 Review of C Structs
-
Урок 26.
00:09:31
5.05 Array of Points
-
Урок 27.
00:16:13
6.01 Orthographic Projection
-
Урок 28.
00:15:34
6.03 Perspective Projection
-
Урок 29.
00:04:14
6.04 Implementing the Perspective Divide
-
Урок 30.
00:03:12
6.05 Coordinate System Handedness
-
Урок 31.
00:10:06
7.01 Vector Transformations
-
Урок 32.
00:08:58
7.02 Review of Sine Cosine and Tangent
-
Урок 33.
00:22:10
7.04 Rotating Vectors
-
Урок 34.
00:11:18
7.05 Vector Rotation Function
-
Урок 35.
00:16:10
7.06 Proof of Angle Sine Addition
-
Урок 36.
00:07:05
7.08 Proof of Angle Cosine Addition
-
Урок 37.
00:14:25
8.01 Fixing our Game Loop Time Step
-
Урок 38.
00:08:14
8.02 Using a Delay Function
-
Урок 39.
00:12:36
9.01 Triangles and Meshes
-
Урок 40.
00:24:40
9.02 Vertices and Triangle Faces
-
Урок 41.
00:02:49
9.03 Triangle Edges
-
Урок 42.
00:15:19
10.01 Line Equation
-
Урок 43.
00:22:39
10.02 DDA Line Drawing Algorithm
-
Урок 44.
00:21:51
10.03 Coding a Function to Draw Lines
-
Урок 45.
00:20:55
11.01 Dynamic Arrays
-
Урок 46.
00:22:26
11.03 Dynamic Mesh Vertices and Faces
-
Урок 47.
00:20:17
12.01 OBJ Files
-
Урок 48.
00:08:31
12.02 Exercise. Loading OBJ File Content
-
Урок 49.
00:26:23
12.03 Loading OBJ File Content
-
Урок 50.
00:08:37
13.01 Back-face Culling Motivation
-
Урок 51.
00:13:49
13.03 Vector Magnitude
-
Урок 52.
00:09:31
13.04 Vector Addition and Subtraction
-
Урок 53.
00:04:24
13.05 Vector Scalar Multiplication and Division
-
Урок 54.
00:08:59
13.06 Vector Cross Product
-
Урок 55.
00:08:34
13.07 Finding the Normal Vector
-
Урок 56.
00:12:24
13.08 Dot Product
-
Урок 57.
00:04:33
13.10 Back-face Culling Algorithm
-
Урок 58.
00:26:26
13.11 Back-face Culling Code
-
Урок 59.
00:20:09
13.13 Vector Normalization
-
Урок 60.
00:06:38
14.01 Triangle Fill
-
Урок 61.
00:07:20
14.02 Flat-Bottom & Flat-Top Technique
-
Урок 62.
00:04:39
14.03 Activity. Find Triangle Midpoint
-
Урок 63.
00:09:10
14.04 Solution to the Triangle Midpoint
-
Урок 64.
00:14:42
14.05 Coding the Triangle Midpoint Computation
-
Урок 65.
00:09:49
14.06 Flat-Bottom Triangle Algorithm
-
Урок 66.
00:14:22
14.07 Flat-Bottom Triangle Code
-
Урок 67.
00:05:10
14.08 Flat-Top Triangle Algorithm
-
Урок 68.
00:09:34
14.09 Flat-Top Triangle Code
-
Урок 69.
00:07:25
14.10 Avoiding Division by Zero
-
Урок 70.
00:16:29
14.12 Different Rendering Options Solution
-
Урок 71.
00:14:35
14.15 Colored Triangle Faces
-
Урок 72.
00:11:35
15.01 Painter's Algorithm
-
Урок 73.
00:14:07
15.03 Coding a Sorting Function
-
Урок 74.
00:13:48
16.01 Matrices Overview
-
Урок 75.
00:11:50
16.02 Matrix Operations
-
Урок 76.
00:08:43
16.03 Properties of Matrix Multiplication
-
Урок 77.
00:07:19
16.04 Examples of Matrix Multiplication
-
Урок 78.
00:07:09
16.06 2D Rotation Matrix
-
Урок 79.
00:09:15
17.01 3D Matrix Transformations
-
Урок 80.
00:08:55
17.02 3D Scale Matrix
-
Урок 81.
00:09:41
17.03 Matrix Typedef
-
Урок 82.
00:18:35
17.04 Scale Matrix Code
-
Урок 83.
00:07:54
17.05 3D Translation Matrix
-
Урок 84.
00:06:09
17.06 Translation Matrix Code
-
Урок 85.
00:09:40
17.07 3D Rotation Matrices
-
Урок 86.
00:09:23
17.08 Rotation Matrix Code
-
Урок 87.
00:18:07
17.10 The World Matrix
-
Урок 88.
00:04:43
17.11 Order of Transformations
-
Урок 89.
00:09:22
17.12 Translation is Not a Linear Transformation
-
Урок 90.
00:18:46
18.01 Defining a Projection Matrix
-
Урок 91.
00:13:03
18.02 Populating our Perspective Projection Matrix
-
Урок 92.
00:21:27
18.03 Coding the Perspective Projection Matrix
-
Урок 93.
00:03:10
18.04 Exercise. Projecting Negative Values
-
Урок 94.
00:06:16
18.05 Projecting Negative Values
-
Урок 95.
00:07:46
18.07 Row-major and Column-major Orders
-
Урок 96.
00:14:28
19.01 Flat Shading
-
Урок 97.
00:28:09
19.02 Coding Flat Shading & Light
-
Урок 98.
00:07:47
19.04 Smooth Shading Techniques
-
Урок 99.
00:07:54
19.06 Inverted Vertical Screen Values
-
Урок 100.
00:14:33
20.01 Texture Mapping
-
Урок 101.
00:12:41
20.02 Representing Textures in Memory
-
Урок 102.
00:28:15
20.03 Texture Typedef
-
Урок 103.
00:05:52
20.04 Textured Triangles
-
Урок 104.
00:30:18
20.05 Textured Flat-Bottom Triangle
-
Урок 105.
00:09:14
20.06 Textured Flat-Top Triangle
-
Урок 106.
00:18:16
20.07 Barycentric Coordinates
-
Урок 107.
00:18:58
20.08 Barycentric Weights (О±, ОІ, Оі)
-
Урок 108.
00:13:13
20.09 Function to Compute (О±, ОІ, Оі)
-
Урок 109.
00:25:43
20.10 Visualizing Textured Triangles
-
Урок 110.
00:28:55
21.01 Perspective Correct Interpolation
-
Урок 111.
00:03:52
21.02 PS1 Games and Affine Texture Mapping
-
Урок 112.
00:35:46
21.03 Perspective Correct Interpolation Code
-
Урок 113.
00:06:05
21.06 Inverted Cube UV Coordinates
-
Урок 114.
00:10:08
22.01 Decoding PNG Files
-
Урок 115.
00:21:18
22.03 Loading PNG File Content
-
Урок 116.
00:01:43
22.04 Freeing PNG Textures
-
Урок 117.
00:25:44
23.01 Loading OBJ Texture Attributes
-
Урок 118.
00:10:54
23.02 Preventing Texture Buffer Overflow
-
Урок 119.
00:07:42
23.04 Visualizing Textured OBJ Models
-
Урок 120.
00:13:55
24.01 Z-Buffer
-
Урок 121.
00:22:35
24.02 Z-Buffer Code
-
Урок 122.
00:05:00
24.03 Exercise. Z-Buffer for Filled Triangles
-
Урок 123.
00:10:37
24.04 Implementing a Z-Buffer for Filled Triangles
-
Урок 124.
00:18:01
24.05 A Discussion on Dynamic Memory Allocation
-
Урок 125.
00:15:30
25.01 Camera Space
-
Урок 126.
00:10:34
25.02 Look At Camera Model
-
Урок 127.
00:17:40
25.03 Look At Transformations
-
Урок 128.
00:11:47
25.04 The LookAt Function
-
Урок 129.
00:24:16
25.05 Coding the LookAt Function
-
Урок 130.
00:11:45
25.07 Variable Delta-time
-
Урок 131.
00:06:07
25.08 A Simple FPS Camera Movement
-
Урок 132.
00:35:56
25.09 Coding a Simple FPS Camera Movement
-
Урок 133.
00:09:03
26.01 Frustum Clipping
-
Урок 134.
00:07:17
26.02 Planes
-
Урок 135.
00:03:25
26.03 Exercise. Right Frustum Plane Point & Normal
-
Урок 136.
00:19:12
26.04 Defining Frustum Planes Points & Normals
-
Урок 137.
00:12:00
26.05 Initializing an Array of Frustum Planes
-
Урок 138.
00:06:26
26.06 Defining Points Inside and Outside Planes
-
Урок 139.
00:18:22
26.07 Intersection Between Line & Plane
-
Урок 140.
00:14:28
26.08 Clipping a Polygon Against a Plane
-
Урок 141.
00:23:51
26.09 Polygon Typedef
-
Урок 142.
00:24:27
26.10 A Function to Clip Polygon Against Planes
-
Урок 143.
00:38:37
26.11 Coding the Function to Clip Polygons Against Planes
-
Урок 144.
00:06:57
26.12 Converting Polygons Back Into Triangles
-
Урок 145.
00:24:08
26.13 Visualizing Clipped Triangles
-
Урок 146.
00:21:03
26.14 Horizontal & Vertical FOV Angles
-
Урок 147.
00:37:16
26.15 Clipping Texture UV Coordinates
-
Урок 148.
00:18:35
26.16 Clipping Space
-
Урок 149.
00:08:52
27.01 Working with Static Variables
-
Урок 150.
00:30:28
27.02 Refactoring SDL Globals
-
Урок 151.
00:12:30
27.03 Simulating Low-Resolution Displays
-
Урок 152.
00:07:16
27.04 Refactoring Light Globals
-
Урок 153.
00:04:40
27.05 Exercise. Camera Pitch Rotation
-
Урок 154.
00:14:41
27.06 Implementing the Camera Pitch Rotation
-
Урок 155.
00:17:30
28.01 Declaring Multiple Meshes
-
Урок 156.
00:28:55
28.02 Implementing Multiple Meshes
-
Урок 157.
00:16:18
28.03 Implementing Multiple Textures
-
Урок 158.
00:20:06
28.04 Finishing our Implementation
-
Урок 159.
00:23:12
28.05 Handedness & Orientation
-
Урок 160.
00:10:06
29.01 Dedicated Graphics Cards
-
Урок 161.
00:14:17
29.02 Modern Graphics APIs & Shaders
-
Урок 162.
00:19:22
29.03 A Parallel Rasterization Algorithm
-
Урок 163.
00:16:21
29.04 Determining Point Inside Triangle
-
Урок 164.
00:17:38
29.05 Top-Left Rasterization Rule
-
Урок 165.
00:14:04
29.06 Edge Function & Barycentric Weights
-
Урок 166.
00:19:23
29.07 Edge Function & Constant Increments
-
Урок 167.
00:23:15
29.08 Subpixel Rasterization
-
Урок 168.
00:10:26
30.03 Next Steps