(Download) - Computer Graphics with Modern OpenGL and C++

Learn the theory and code behind modern OpenGL graphical applications so you can make games, simulations and more!

What you'll learn

  • Create 3D graphical applications using C++ and OpenGL
  • Use and understand GLEW and GLFW
  • Draw 3D objects to a window
  • Use OpenGL shaders (vertex, fragment and even geometry shaders!)
  • Use and understand uniform variables
  • Use the GLM (OpenGL Maths) library for 3D transforms
  • Translate, Rotate and Scale 3D objects
  • Understand and use the concepts of interpolation to streamline 3D applications
  • Use Indexed Draws to simplify 3D model construction
  • Understand and use both orthogonal and perspective projections
  • Implement a user controlled camera to navigate 3D worlds using keyboard and mouse input
  • Apply textures to 3D models to give them more detail
  • Apply the Phong Lighting model to add realistic lighting to a 3D scene
  • Use three types of light: Direction, Point and Spot Lights (and have multiple Point/Spot Lights in a scene!)
  • Import 3D models made in external applications such as Blender and 3DSMax using the Assimp library
  • Apply both Directional Shadows and Omnidirectional Shadows
  • Shadow Mapping optimisation techniques
  • How to apply MULTIPLE Omnidirectional Shadow sources to a scene
  • Implement a Skybox to increase the scope of a 3D scene using cubemaps


  • Basic understanding of C++, including the use of pointers/references
  • Mathematical background helps but is not necessary
  • Visual Studio using C++ and Windows are advised, however the code and theory are relevant to Mac/Linux systems, you just won't be able to follow along 1-to-1 with IDE use!


Hi! Welcome to the Computer Graphics with Modern OpenGL and C++ course!

This course is designed to be unique from most other OpenGL courses out there, because it not only teaches you the code needed to use OpenGL, but it also teaches you the THEORY behind it all! This is immensely important for any aspiring graphics or game developer, because understanding the theory behind what we do enables you to form your own graphical style!

I intend to help you understand both HOW and WHY we do what we do, so you can create your own systems derived from the foundations of graphical development, pushing you further ahead of all your competitors out there.

This course is designed to teach you modern OpenGL and graphics techniques without any prior knowledge of graphical theory. All you need is some C++ experience and preferably an understanding of trigonometry.

This course will receive constant support, to ensure you learn everything there is to know, beyond just the basics that most other courses will teach you. As an example of this, this series already covers things as advanced as Shadow Mapping, a rare commodity among OpenGL courses (especially when it comes to Shadow Mapping for MULTIPLE Point Lights!!).

So I hope you take an interest in this course and enjoy watching it as much as I do making it!

Who this course is for:

  • People who want to learn OpenGL from scratch as well as the theory behind Computer Graphics