Introduction to OpenGL

Current Status
Not Enrolled
Price
Closed
Get Started
This course is currently closed

Hi and welcome to the « Introduction to Modern OpenGL » course.

This course will introduce you to modern OpenGL programming. We will teach you a brief history of OpenGL to help you understand why we chose to teach modern OpenGL with its programmable rendering pipeline over the fixed function pipeline.
We begin with the basics of getting OpenGL running in a window using the GLFW library to make portable program code (MacOSX, Linux and Windows). Then we will move on to understanding the basics of rendering polygons to the display by sending buffers of data to the computer’s graphics card and programming it using shaders with the GLSL shading language. We’ll learn how to map textures to our objects. We’ll set up a virtual camera using keyboard and mouse inputs to enable us to move around in the scene.
After we have the fundamentals working then we can start building more complex things. We will learn how to load 3D models and add interesting lighting to the scene.

By the end of this course, you will know how to set up and render in 3D with modern OpenGL. With each lesson we build a framework with reusable C++ and OpenGL code. That is a great starting place for you to build your own game engine! We will start with a blank project and write code each step of the way and each lesson builds upon the last. Even if you have never touched OpenGL you should find the course easy to follow and everything explained along the way.

What you’ll learn?

  • Practical level of programming with modern OpenGL
  • How to set up an OpenGL window using GLFW and the OpenGL API
  • How to write GLSL shaders that program your PCs video card for hardware accelerated – graphics
  • How to render simple textured rectangles to complex 3D models with realistic lighting
  • Different types of lighting to make the models look more realistic
  • How to set up and control a virtual camera to move around and view objects in the 3D scene

Libraries to install and Additional ressources