Modern OpenGL C++ 3D Game Tutorial Series
4.5 (48 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
7,702 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Modern OpenGL C++ 3D Game Tutorial Series to your Wishlist.

Add to Wishlist

Modern OpenGL C++ 3D Game Tutorial Series

Learn modern OpenGL that underpins most new games and game engines.
Bestselling
4.5 (48 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
7,702 students enrolled
Created by Frahaan Hussain
Last updated 7/2017
English
English
Current price: $10 Original price: $50 Discount: 80% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 13 hours on-demand video
  • 42 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Program in Modern OpenGL
  • Understand gaming constructs/concepts
  • Ability to create a game engine
  • Ability to create a game
View Curriculum
Requirements
  • Understand the fundamentals of C++ Programming
  • Basic mechanics in modern games
Description

Learn about the fundamentals that make the awesome games we play and the game engines behind them. A step by step process is used to show everything from setting up to essential Modern OpenGL features.

Gain a good understanding of the following concepts:

  1. Setting Up on Windows and Mac using GLFW, SDL and SFML
  2. 2D Drawing
  3. 3D Drawing
  4. Texturing
  5. Lighting
  6. Shaders/GLSL
  7. Model Loading
  8. Cube Mapping
  9. C++ Programming
  10. C++ Game Development

OpenGL is the most popular graphics library in the world, most mobile games use OpenGL and many other applications as well.

You will be provided with the full source code to aid in development during and after this course. The source code is free to use in as many projects as you wish.

Who is the target audience?
  • This OpenGL course if for anyone looking to learn the inner workings of games and game engines.
  • Anyone looking to move from Immediate Mode to Modern OpenGL
Students Who Viewed This Course Also Viewed
Curriculum For This Course
72 Lectures
12:48:01
+
Introduction
1 Lecture 02:18
+
SETUP
12 Lectures 03:44:07

This is a overview of which setup video to choose.

READ ME BEFORE SETTING UP
00:17

Learn how to setup your development environment to use OpenGL on Windows with GLFW using absolute linking.

GLFW & GLEW Windows (Absolute Linking) Setup
24:34

Learn how to setup your development environment to use OpenGL on Windows with GLFW using relative linking.

GLFW & GLEW Windows (Relative Linking) Setup
26:13

Learn how to setup your development environment to use OpenGL on Mac with GLFW.

Preview 20:17

Learn how to setup your development environment to use OpenGL on Windows with SDL using absolute linking.

SDL & GLEW Windows (Absolute Linking) Setup
28:52

Learn how to setup your development environment to use OpenGL on Windows with SDL using relative linking.

SDL & GLEW Windows (Relative Linking) Setup
24:19

Learn how to setup your development environment to use OpenGL on Mac with SDL.

SDL & GLEW Mac Setup
18:41

Learn how to setup your development environment to use OpenGL on Windows with SFML using absolute linking.

SFML & GLEW Windows (Absolute Linking) Setup
20:41

Learn how to setup your development environment to use OpenGL on Windows with SFML using relative linking.

SFML & GLEW Windows (Relative Linking) Setup
22:46

Learn how to setup your development environment to use OpenGL on Mac with SFML.

Preview 18:26

GLM is a great library for mathematical structures and calculations. This video will cover setting it up on Windows.

GLM Windows Setup
05:04

We will cover the setup process for SOIL (Simple OpenGL Image Library) using Premake on Windows.

SOIL Windows Setup
13:57
+
GETTING STARTED
6 Lectures 03:26:23

Learn how to draw a basic triangle using simple shaders.

Preview 28:56

Learn how to make the shaders more adaptable and reusable.

Shader Files
21:29

For now we have simple coloured objects but now we will learn how to texture our objects with images.

Textures
35:35

Learn how to transform the objects in your world using the following transformations:

  • Translate
  • Rotate
  • Scale
Transformations
13:25

Learn how different projections work within OpenGL and how the coordinate system works.

Projections and Coordinate Systems
32:09

Create a Camera to move around our world and create multiple cubes to populate our awesome world.

Camera
01:14:49
+
LIGHTING
8 Lectures 03:19:58

We will now learn how to change the colour of our objects, this will be a great stepping stone for implementing amazing dynamic lights.

Preview 25:33

Now is the time, we will implement lights to make our games more vibrant.

We will cover the following techniques:

  • Ambient Lighting
  • Diffuse Lighting
  • Specular Lighting
  • Phong Lighting
Basic Lighting
30:12

Different objects in the real world react and operate differently to light, metals are more shiny than wood for example. Materials allow us to accommodate this and create more realistic looking objects.

Materials
24:37

Using lighting maps we can enhance our objects with different materials to react differently to lights. We expand on many of the fundamental points discussed in the previous video.

We will cover the following lighting maps:

  • Diffuse Maps
  • Specular Maps
Lighting Maps
27:54

Directional lights omit light in a single direction, they emanate from a source that is infinitely far away making them affect objects the same regardless of position.

Directional Lights
15:26

Point lights allow us to create lights that have a fixed position and omit light in all directions.

Preview 15:17

Spot lights provide lights that have a position and direction, these are amazing for focusing on a point in our game.

Spot Light
16:33

We have learnt about directional lights, point lights and spot lights. Lets now combine them to create an awesome scene.

Combining Directional, Point and Spot Lights
44:26
+
MODEL LOADING
3 Lectures 01:42:44

Learn how to setup Assimp (Open Asset Import Library) on Windows using CMake for all our Model Loading needs.


This video only covers the setup stage, the next 2 videos cover implementation of Assimp. If you are a Windows developer just ignore the Mac setup stage at the start of the next video.

Assimp Windows Setup
10:33

We will cover setting up Assimp on Mac OS X and creating a cross platform Mesh Class.

Assimp Mac Setup and Mesh Class
35:50

Now it's time to load our 3D model into our game. We will start off by creating a Model Class to handle model loading the displaying it.

Assimp Model Class & Loading A Model
56:21
+
ADVANCED
1 Lecture 31:45

Learn how to implement a skybox using a cubemap to bring advanced worlds to your game with ease.

Cubemapping/Skybox
31:45
+
Extra OpenGL Resource Links
10 Lectures 00:19

OpenGL Homepage Link

https://www.opengl.org/

OpenGL Homepage
00:01

Learn OpenGL created by the amazing Joey de Vries

https://learnopengl.com/

Learn OpenGL by Joey de Vries
00:03

Open.gl Link

https://open.gl/

Open.gl
00:01

Nvidia OpenGL Developer portal

https://developer.nvidia.com/opengl

NVIDIA OpenGL Developer Portal
00:02

OpenGL-Tutorial Link

http://www.opengl-tutorial.org/

OpenGL-Tutorials
00:01

NeHe Productions Gamedev

http://nehe.gamedev.net/

The Legend That Is NeHe Productions
00:01

Modern OpenGL Tutorial by OGL dev

http://ogldev.atspace.co.uk/

OGL dev
00:02

Fallout Software Link

http://www.falloutsoftware.com/

Fallout Software Game Development Tutorials
00:01

Anton's Link

http://antongerdelan.net/opengl/

Anton's OpenGL Tutorials
00:01

The amazing Lazy Foo tutorials:

http://lazyfoo.net/tutorials/OpenGL/

Lazy Foo Tutorials
00:02
+
Porting To Mobile Platforms With OpenGL ES
6 Lectures 00:12

Khronos OpenGL ES

https://www.khronos.org/opengles/

Khronos OpenGL ES
00:01

Android OpenGL ES Developer Portal

https://developer.android.com/guide/topics/graphics/opengl.html

Android OpenGL ES Developer Portal
00:02

Apple OpenGL ES Developer Portal

https://developer.apple.com/library/content/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/Introduction/Introduction.html

Apple OpenGL ES Developer Portal
00:02

Learn OpenGL ES Link

http://www.learnopengles.com/

Learn OpenGL ES
00:02

OpenGL® ES 3.0 Programming Guide Link

http://opengles-book.com/

OpenGL® ES 3.0 Programming Guide - Book Website
00:02

iOS OpenGL Guide Link

https://www.raywenderlich.com/3664/opengl-tutorial-for-ios-opengl-es-2-0

iOS OpenGL Guide
00:02
+
Porting OpenGL To The Web Using WebGL
11 Lectures 00:20

Settings up WebGL

https://developer.mozilla.org/en/docs/Web/API/WebGL_API/Tutorial/Getting_started_with_WebGL

Getting Started With WebGL
00:01

Mozilla Developer Network Link

https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API

Mozilla Developer Network - WebGL
00:02

Chrome Experiments Link

https://www.chromeexperiments.com/webgl

Chrome WebGL Experiments
00:01

Learning WebGL Link

http://learningwebgl.com/blog/?page_id=1217

Learning WebGL
00:01

WebGL Samples Link

http://webglsamples.org/

WebGL Samples
00:01

WebGL Fundamentals

https://webglfundamentals.org/

WebGL Fundamentals
00:01

WebGL HTML 5 Rocks Link

https://www.html5rocks.com/en/tutorials/webgl/webgl_fundamentals/

WebGL HTML5 Rocks
00:02

WebGL Game Development Tutorials Link

http://www.webgltutorials.org/index.html

WebGL Game Development Tutorials
00:02

WebGL Academy Link

http://www.webglacademy.com/

WebGL Academy
00:01

Tutorials Point Link

http://www.tutorialspoint.com/webgl/

WebGL Tutorials Point
00:01

WebGL Essentials Link

https://code.tutsplus.com/articles/webgl-essentials-part-i--net-25856

WebGL Essentials
00:01
+
Beyond OpenGL, Enter Vulkan
6 Lectures 00:11

Khronos Vulkan Link

https://www.khronos.org/vulkan/

Khronos Vulkan
00:01

Nvidia Vulkan Developer Portal Link

https://developer.nvidia.com/Vulkan

NVIDIA Vulkan Developer Portal
00:02

Vulkan Tutorials Link

https://vulkan-tutorial.com/

Vulkan Tutorials
00:01

Vulkan API Overview Link

https://www.toptal.com/api-developers/a-brief-overview-of-vulkan-api

Overview Of The Vulkan API
00:02

Intel Developer Zone Link

https://software.intel.com/en-us/articles/api-without-secrets-introduction-to-vulkan-preface

Uncovering The Secrets of Vulkan by Intel
00:02

Vulkan Quick & Easy Link

https://renderdoc.org/vulkan-in-30-minutes.html

Vulkan Quick & Easy
00:01
2 More Sections
About the Instructor
Frahaan Hussain
4.2 Average rating
405 Reviews
39,561 Students
10 Courses
CEO and Lead Developer at Sonar Systems

I am CEO of Sonar Systems which is the world leader in educational material for the game engine Cocos2d-x, one of the best and most popular game engines in the world. With years of experience programming and running an online education platform (Sonar Learning) I can help and support new programming like you.

I am also a University Lecturer teaching a variety of topics in Games Programming from Games Design to OpenGL Shader Programming.

I am also a published author of games design and soon to be released Responsive Web Design. I have all the facets required to educate and inspire.