OpenGL Course - Create 3D and 2D Graphics With C++

OpenGL Course - Create 3D and 2D Graphics With C++

freeCodeCamp.org via freeCodeCamp Direct link

Introduction to Course

1 of 151

1 of 151

Introduction to Course

Class Central Classrooms beta

YouTube playlists curated by Class Central.

Classroom Contents

OpenGL Course - Create 3D and 2D Graphics With C++

Automatically move to the next video in the Classroom when playback concludes

  1. 1 Introduction to Course
  2. 2 Downloads
  3. 3 Setting Up VS Project
  4. 4 Generating GLFW
  5. 5 Build Solution GLFW
  6. 6 Importing Libraries
  7. 7 Configuring VS
  8. 8 Finishing up & Testing
  9. 9 Initializing GLFW
  10. 10 Configuring GLFW
  11. 11 Creating Window
  12. 12 While Loop
  13. 13 OpenGL Viewport
  14. 14 Buffer Explanation
  15. 15 Adding Color
  16. 16 Comments for Window
  17. 17 Graphics Pipeline
  18. 18 Shaders Source Code
  19. 19 Vertices
  20. 20 Vertex and Fragment Shaders
  21. 21 Shader Program
  22. 22 Vertex Buffer Object
  23. 23 Vertex Array Object
  24. 24 Cleaning Up
  25. 25 Rendering Loop
  26. 26 Comments for Triangle
  27. 27 Normal Triangle
  28. 28 Duplicate Vertices
  29. 29 Solution
  30. 30 Index Buffer
  31. 31 Implementation
  32. 32 Comments for Index Buffer
  33. 33 Introduction to Organizing
  34. 34 Shader Text Files
  35. 35 Shader Class
  36. 36 VBO Class
  37. 37 EBO Class
  38. 38 VAO Class
  39. 39 Adding Classes to Main.cpp
  40. 40 Comments for Organizing
  41. 41 Introduction to Shaders
  42. 42 Shaders Properties
  43. 43 Vertex Shader
  44. 44 Fragment Shader
  45. 45 Adding Colors
  46. 46 Modifying the VAO class
  47. 47 Vertex Attribute Pointer Explanation
  48. 48 linkAttrib Code
  49. 49 Interpolation
  50. 50 Uniforms
  51. 51 Error Checking Shaders
  52. 52 Comments for Shaders
  53. 53 Types of Textures
  54. 54 stb Library
  55. 55 Square
  56. 56 Texture Sizes
  57. 57 Importing in an Image
  58. 58 Creating the Texture
  59. 59 Texture Units
  60. 60 Interpolation Types
  61. 61 Texture Mapping
  62. 62 Assigning the Image to the Texture
  63. 63 Errors
  64. 64 Mipmaps
  65. 65 Texture Coordinates
  66. 66 Vertex and Fragment Shaders
  67. 67 Finishing up
  68. 68 Texture Class
  69. 69 Comments for Textures
  70. 70 Introduction to Going 3D
  71. 71 Correction
  72. 72 Matrices
  73. 73 GLM
  74. 74 Coordinate Types
  75. 75 Transformation Matrices
  76. 76 Matrix Initialization
  77. 77 View & Projection Matrices
  78. 78 Importing Matrices
  79. 79 Matrices Final Multiplication
  80. 80 Pyramid
  81. 81 Rotation & Timer
  82. 82 Depth Buffer
  83. 83 Comments for Going 3D
  84. 84 Header File
  85. 85 Basic Camera Class Functions
  86. 86 Main File Changes
  87. 87 Vertex Shader Changes
  88. 88 Key Inputs
  89. 89 Mouse Inputs
  90. 90 Fixing Camera Jumps
  91. 91 Comments for Camera
  92. 92 Modify Camera
  93. 93 Light Cube
  94. 94 Light Color
  95. 95 Diffuse Lighting & Normals
  96. 96 Ambient Lighting
  97. 97 Specular Lighting
  98. 98 Comments for Lighting
  99. 99 Modify Texture Class
  100. 100 Plane With Texture
  101. 101 Specular Maps Theory
  102. 102 Implementing Specular Maps
  103. 103 Ending for Specular Maps
  104. 104 Types of Light
  105. 105 Point Light
  106. 106 Intensity Attenuation
  107. 107 Inverse Square Law
  108. 108 CG Intensity Equation
  109. 109 Implementation of Attenuation
  110. 110 Directional Light
  111. 111 Spotlight
  112. 112 Light Cones
  113. 113 Cones Comparison
  114. 114 Cos vs Angle
  115. 115 Finishing the Spotlight
  116. 116 Comments for Types of Light
  117. 117 Introduction for Mesh Class
  118. 118 Mesh Definition
  119. 119 Mesh Class Header
  120. 120 Modify the VBO Class
  121. 121 Modify the EBO Class
  122. 122 Mesh Constructor
  123. 123 Rearrange Shader Layouts
  124. 124 Mesh Draw Function I
  125. 125 Modify the Texture Class
  126. 126 Mesh Draw Function II
  127. 127 Modify the Uniforms
  128. 128 Main.cpp Changes
  129. 129 Comments for Mesh Class
  130. 130 Introduction for Model Loading
  131. 131 Small Note on 3D Models
  132. 132 JSON Library
  133. 133 Model Header
  134. 134 Model.cpp File
  135. 135 JSON File Structure
  136. 136 Getting the Binary Data
  137. 137 glTF File Structure
  138. 138 getFloats() and getIndices()
  139. 139 Grouping Functions
  140. 140 assembleVertices()
  141. 141 Modifying the Texture Class
  142. 142 getTextures()
  143. 143 loadMesh()
  144. 144 Matrix Transformations Explanation
  145. 145 traverseNode() Declaration
  146. 146 Modifying the Mesh Class
  147. 147 Modifying the Vertex Shader
  148. 148 traverseNode() Writing
  149. 149 Modifying the Main.cpp File
  150. 150 Examples of Models
  151. 151 Comments for Model Loading

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.