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