Learn how to render real-time 2D and 3D graphics with OpenGL, the world standard API for cross-platform graphics.
Overview
Syllabus
Introduction
- Welcome
- What you should know before watching this course
- Using the exercise files
- Setting up OpenGL and CMake in OS X
- Setting up OpenGL and CMake in Windows
- Building an OpenGL project from scratch
- Understanding OpenGL
- Introduction to OpenGL terminology
- Creating a context and getting version info
- Creating a context and a window
- Creating a context and getting extension info
- Cleaning up the code: Making an app struct
- Drawing geometric primitives
- Rotating, translating, and scaling
- Understanding the programmable pipeline
- Introducing shaders and the OpenGL Shading Language (GLSL)
- Compiling shaders
- Generating Vertex Array Objects
- Generating Vertex Buffer Objects
- Adding color attributes
- Detecting errors
- Cleaning up the code: Make a shader struct
- Understanding the OpenGL coordinate system
- Introducing matrix transformations
- Applying orthographic projection
- Using Model, View, and Projection matrices
- Working with the Model matrix
- Working with the View matrix
- Working with the Projection matrix
- Using indices of vertex buffers
- Generating dynamic vertex buffer data
- Adding texture coordinates
- Loading image textures
- Adding normals and lighting
- Combining lighting and textures
- Cleaning up the code: Make a texture struct
- Handling GLFW callbacks
- Adding keyboard input
- Adding mouse input
- Next steps
Taught by
Pablo Colapinto