Module 3 - Understanding OpenGL API, Buffers, Shaders, and a first triangle - Module Overview
1.) Introduction to Computer Graphics | C++ and Images
2.) SDL Based Graphics Applications
3.) Understanding OpenGL API, Buffers, Shaders, and a first triangle
4.) Color Attributes and Linear Algebra (Vectors)
5.) Matrices, Rotation, and Camera
6.) Meshes, OBJ, and Mesh Representation
7.) Basic Lighting, Point, Lights, and Multiple Lights
8.) Textures
9.) Advanced Lighting (Specular, Normal and Parallax)
10.) Screen buffers, Framebuffer Objects (FBO) and post-processing
11.) Scenegraphs and Terrain Rendering
12.) Advanced Graphics - Shaders, PBR, Deferred Rendering and Engine Study
13.) Instructors Choice -- TBD (e.g. Multi-texture, Cartoon, animation, particles)
14.) Final Projects, wrap up! (do your course evaluation please :))
15.) (Optional) Vulkan and other APIs
16.) (Optional Bonus) - Quaternion Math

Audio/Video Recording


Readings/Warmup (Do before class)

...Commented Code Samples (if any)

For now I am linking code samples here: Github Code Repository for the course

Additional Resources


(Graded) In-Class Activity link

  • In-Class Activity Link
    • This is graded, and only your first response is graded
    • This is an evaluation of what was learned in lecture.
    • Due one week from when the lecture takes place

Module Content

Module Overview

In this module we focus on creating our first triangle

Module Outline

  • Lecture outline
    • Modern Programmable Pipelines
    • OpenGL is a C API with global state -- it's a state machine
    • Computer Graphics Pipeline (OpenGL Perspective)
    • Drawing our First Shape
    • A First Shader
    • Vertex Buffer in OpenGL
    • Vertex Attributes and Color
    • Vertex and Fragment Shaders


(Optional Notes)

None given, consider this a 'beta' product for common questions I may revise later.

Please do not redistribute or host any materials without e-mailing me first. I generally am happy to share the latest .pdf or slide presentation with those who ask. Thank you for your time!