Это пробный урок. Оформите подписку, чтобы получить доступ ко всем материалам курса. Премиум

  1. Урок 1. 00:12:24
    Introduction and Learning Outcomes
  2. Урок 2. 00:02:59
    How to Take this Course
  3. Урок 3. 00:02:37
    Words of Encouragement
  4. Урок 4. 00:10:00
    Project Dependencies
  5. Урок 5. 00:01:56
    A Quick Note for Windows Users
  6. Урок 6. 00:02:02
    Project Folder Structure
  7. Урок 7. 00:06:19
    The Compilation Flow
  8. Урок 8. 00:08:21
    Working with Makefiles
  9. Урок 9. 00:14:46
    Configuring Visual Studio on Windows
  10. Урок 10. 00:19:16
    Creating an SDL Window
  11. Урок 11. 00:19:54
    Rendering an SDL Window
  12. Урок 12. 00:20:51
    Declaring a Color Buffer
  13. Урок 13. 00:07:42
    Allocating Memory and Freeing Resources
  14. Урок 14. 00:17:15
    SDL Texture
  15. Урок 15. 00:08:31
    Fullscreen Window
  16. Урок 16. 00:02:59
    Exercise: Drawing a Background Grid
  17. Урок 17. 00:05:43
    Drawing a Background Grid
  18. Урок 18. 00:03:10
    Exercise: Drawing Rectangles
  19. Урок 19. 00:06:00
    Creating a Function to Draw Rectangles
  20. Урок 20. 00:11:20
    Defining Header Files
  21. Урок 21. 00:13:01
    Coding New Header Files
  22. Урок 22. 00:07:48
    The Draw Pixel Function
  23. Урок 23. 00:14:50
    Vectors
  24. Урок 24. 00:03:40
    Declaring a Vector Type
  25. Урок 25. 00:06:24
    Review of C Structs
  26. Урок 26. 00:09:31
    Array of Points
  27. Урок 27. 00:16:13
    Orthographic Projection
  28. Урок 28. 00:15:34
    Perspective Projection
  29. Урок 29. 00:04:14
    Implementing the Perspective Divide
  30. Урок 30. 00:03:12
    Coordinate System Handedness
  31. Урок 31. 00:10:06
    Vector Transformations
  32. Урок 32. 00:08:59
    Review of Sine Cosine and Tangent
  33. Урок 33. 00:22:10
    Rotating Vectors
  34. Урок 34. 00:11:18
    Vector Rotation Function
  35. Урок 35. 00:16:10
    Proof of Angle Sine Addition
  36. Урок 36. 00:07:05
    Proof of Angle Cosine Addition
  37. Урок 37. 00:14:25
    Fixing our Game Loop Time Step
  38. Урок 38. 00:08:14
    Using a Delay Function
  39. Урок 39. 00:12:36
    Triangles and Meshes
  40. Урок 40. 00:24:40
    Vertices and Triangle Faces
  41. Урок 41. 00:02:49
    Triangle Edges
  42. Урок 42. 00:15:19
    Line Equation
  43. Урок 43. 00:22:39
    DDA Line Drawing Algorithm
  44. Урок 44. 00:21:51
    Coding a Function to Draw Lines
  45. Урок 45. 00:20:55
    Dynamic Arrays
  46. Урок 46. 00:22:27
    Dynamic Mesh Vertices and Faces
  47. Урок 47. 00:20:17
    OBJ Files
  48. Урок 48. 00:08:31
    Exercise: Loading OBJ File Content
  49. Урок 49. 00:26:23
    Loading OBJ File Content
  50. Урок 50. 00:08:37
    Back-face Culling Motivation
  51. Урок 51. 00:13:49
    Vector Magnitude
  52. Урок 52. 00:09:31
    Vector Addition and Subtraction
  53. Урок 53. 00:04:24
    Vector Scalar Multiplication and Division
  54. Урок 54. 00:08:59
    Vector Cross Product
  55. Урок 55. 00:08:34
    Finding the Normal Vector
  56. Урок 56. 00:12:24
    Dot Product
  57. Урок 57. 00:04:33
    Back-face Culling Algorithm
  58. Урок 58. 00:26:26
    Back-face Culling Code
  59. Урок 59. 00:20:10
    Vector Normalization
  60. Урок 60. 00:06:38
    Triangle Fill
  61. Урок 61. 00:07:20
    Flat-Bottom & Flat-Top Technique
  62. Урок 62. 00:04:39
    Activity: Find Triangle Midpoint
  63. Урок 63. 00:09:10
    Solution to the Triangle Midpoint
  64. Урок 64. 00:14:42
    Coding the Triangle Midpoint Computation
  65. Урок 65. 00:09:49
    Flat-Bottom Triangle Algorithm
  66. Урок 66. 00:14:22
    Flat-Bottom Triangle Code
  67. Урок 67. 00:05:10
    Flat-Top Triangle Algorithm
  68. Урок 68. 00:09:34
    Flat-Top Triangle Code
  69. Урок 69. 00:07:25
    Avoiding Division by Zero
  70. Урок 70. 00:16:29
    Different Rendering Options Solution
  71. Урок 71. 00:14:35
    Colored Triangle Faces
  72. Урок 72. 00:11:35
    Painter's Algorithm
  73. Урок 73. 00:14:07
    Coding a Sorting Function
  74. Урок 74. 00:13:48
    Matrices Overview
  75. Урок 75. 00:11:50
    Matrix Operations
  76. Урок 76. 00:08:43
    Properties of Matrix Multiplication
  77. Урок 77. 00:07:19
    Examples of Matrix Multiplication
  78. Урок 78. 00:07:09
    2D Rotation Matrix
  79. Урок 79. 00:09:15
    3D Matrix Transformations
  80. Урок 80. 00:08:55
    3D Scale Matrix
  81. Урок 81. 00:09:41
    Matrix Typedef
  82. Урок 82. 00:18:35
    Scale Matrix Code
  83. Урок 83. 00:07:54
    3D Translation Matrix
  84. Урок 84. 00:06:09
    Translation Matrix Code
  85. Урок 85. 00:09:40
    3D Rotation Matrices
  86. Урок 86. 00:09:23
    Rotation Matrix Code
  87. Урок 87. 00:18:07
    The World Matrix
  88. Урок 88. 00:04:43
    Order of Transformations
  89. Урок 89. 00:09:22
    Translation is Not a Linear Transformation
  90. Урок 90. 00:18:46
    Defining a Projection Matrix
  91. Урок 91. 00:13:03
    Populating our Perspective Projection Matrix
  92. Урок 92. 00:21:27
    Coding the Perspective Projection Matrix
  93. Урок 93. 00:03:10
    Exercise: Projecting Negative Values
  94. Урок 94. 00:06:16
    Projecting Negative Values
  95. Урок 95. 00:07:46
    Row-major and Column-major Orders
  96. Урок 96. 00:14:28
    Flat Shading
  97. Урок 97. 00:28:09
    Coding Flat Shading & Light
  98. Урок 98. 00:07:47
    Smooth Shading Techniques
  99. Урок 99. 00:07:54
    Inverted Vertical Screen Values
  100. Урок 100. 00:14:33
    Texture Mapping
  101. Урок 101. 00:12:41
    Representing Textures in Memory
  102. Урок 102. 00:28:15
    Texture Typedef
  103. Урок 103. 00:05:52
    Textured Triangles
  104. Урок 104. 00:30:18
    Textured Flat-Bottom Triangle
  105. Урок 105. 00:09:14
    Textured Flat-Top Triangle
  106. Урок 106. 00:18:17
    Barycentric Coordinates
  107. Урок 107. 00:18:59
    Barycentric Weights (α, β, γ)
  108. Урок 108. 00:13:13
    Function to Compute (α, β, γ)
  109. Урок 109. 00:25:43
    Visualizing Textured Triangles
  110. Урок 110. 00:28:55
    Perspective Correct Interpolation
  111. Урок 111. 00:03:52
    PS1 Games and Affine Texture Mapping
  112. Урок 112. 00:35:46
    Perspective Correct Interpolation Code
  113. Урок 113. 00:06:05
    Inverted Cube UV Coordinates
  114. Урок 114. 00:10:08
    Decoding PNG Files
  115. Урок 115. 00:21:18
    Loading PNG File Content
  116. Урок 116. 00:01:43
    Freeing PNG Textures
  117. Урок 117. 00:25:44
    Loading OBJ Texture Attributes
  118. Урок 118. 00:10:54
    Preventing Texture Buffer Overflow
  119. Урок 119. 00:07:42
    Visualizing Textured OBJ Models
  120. Урок 120. 00:13:55
    Z-Buffer
  121. Урок 121. 00:22:35
    Z-Buffer Code
  122. Урок 122. 00:05:00
    Exercise: Z-Buffer for Filled Triangles
  123. Урок 123. 00:10:37
    Implementing a Z-Buffer for Filled Triangles
  124. Урок 124. 00:18:01
    A Discussion on Dynamic Memory Allocation
  125. Урок 125. 00:15:30
    Camera Space
  126. Урок 126. 00:10:34
    Look At Camera Model
  127. Урок 127. 00:17:40
    Look At Transformations
  128. Урок 128. 00:11:47
    The LookAt Function
  129. Урок 129. 00:24:16
    Coding the LookAt Function
  130. Урок 130. 00:11:45
    Variable Delta-time
  131. Урок 131. 00:06:07
    A Simple FPS Camera Movement
  132. Урок 132. 00:35:56
    Coding a Simple FPS Camera Movement
  133. Урок 133. 00:09:04
    Frustum Clipping
  134. Урок 134. 00:07:17
    Planes
  135. Урок 135. 00:03:25
    Exercise: Right Frustum Plane Point & Normal
  136. Урок 136. 00:19:12
    Defining Frustum Planes Points & Normals
  137. Урок 137. 00:12:00
    Initializing an Array of Frustum Planes
  138. Урок 138. 00:06:26
    Defining Points Inside and Outside Planes
  139. Урок 139. 00:18:22
    Intersection Between Line & Plane
  140. Урок 140. 00:14:28
    Clipping a Polygon Against a Plane
  141. Урок 141. 00:23:51
    Polygon Typedef
  142. Урок 142. 00:24:27
    A Function to Clip Polygon Against Planes
  143. Урок 143. 00:38:37
    Coding the Function to Clip Polygons Against Planes
  144. Урок 144. 00:06:57
    Converting Polygons Back Into Triangles
  145. Урок 145. 00:24:08
    Visualizing Clipped Triangles
  146. Урок 146. 00:21:03
    Horizontal & Vertical FOV Angles
  147. Урок 147. 00:37:16
    Clipping Texture UV Coordinates
  148. Урок 148. 00:18:35
    Clipping Space
  149. Урок 149. 00:08:52
    Working with Static Variables
  150. Урок 150. 00:30:28
    Refactoring SDL Globals
  151. Урок 151. 00:12:30
    Simulating Low-Resolution Displays
  152. Урок 152. 00:07:16
    Refactoring Light Globals
  153. Урок 153. 00:04:40
    Exercise: Camera Pitch Rotation
  154. Урок 154. 00:14:41
    Implementing the Camera Pitch Rotation
  155. Урок 155. 00:17:30
    Declaring Multiple Meshes
  156. Урок 156. 00:28:55
    Implementing Multiple Meshes
  157. Урок 157. 00:16:18
    Implementing Multiple Textures
  158. Урок 158. 00:20:06
    Function to Process Pipeline Stages
  159. Урок 159. 00:10:57
    Exercise: Reading OBJ Quads
  160. Урок 160. 00:07:39
    Reading OBJ Quads
  161. Урок 161. 00:10:06
    Dedicated Graphics Cards
  162. Урок 162. 00:14:17
    Modern Graphics APIs & Shaders
  163. Урок 163. 00:19:22
    Pineda's Rasterization Algorithm
  164. Урок 164. 00:16:21
    Determining Point Inside Triangle
  165. Урок 165. 00:17:38
    Top-Left Rasterization Rule
  166. Урок 166. 00:14:04
    Edge Function & Barycentric Weights
  167. Урок 167. 00:19:23
    Edge Function & Constant Increments
  168. Урок 168. 00:23:15
    Subpixel Rasterization
  169. Урок 169. 00:08:32
    Signed Area & Backface Culling
  170. Урок 170. 00:10:14
    Non-Fullscreen SDL Window
  171. Урок 171. 00:07:02
    Mouse Motion (Camera Pitch & Yaw)
  172. Урок 172. 00:05:33
    Mouse Wheel (Camera Front & Back)
  173. Урок 173. 00:09:48
    Exercise: Subpixel Rasterizer
  174. Урок 174. 00:18:53
    Subpixel Line Drawing
  175. Урок 175. 00:11:53
    Subpixel Flat-Shaded Triangles
  176. Урок 176. 00:13:33
    Subpixel Textured Triangles
  177. Урок 177. 00:16:24
    Revisiting Handedness & Orientation
  178. Урок 178. 00:10:26
    Next Steps