Module 4 - Color Attributes and Linear Algebra (Vectors) - 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, Mipmapping, and Specular Maps
9.) Spring Break
10.) Advanced Lighting (Normal and Parallax)
11.) Screen buffers, Framebuffer Objects (FBO) and post-processing
12.) Scenegraphs and Terrain Rendering
13.) Advanced Graphics - Shaders, PBR, Deferred Rendering and Engine Study
14.) Instructors Choice -- TBD (e.g. Multi-texture, Cartoon, animation, particles)
15.) Final Projects, wrap up! (do your course evaluation please :))
16.) (Optional) Vulkan and other APIs
17.) (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 learn about transformations using linear algebra!

Module Outline

  • Lecture outline
    • Using multiple attributes in vertex specification: color
    • Some GPU History
    • Avoiding Fixed-Function Pipelines
    • 3D Vectors (Length, Unit Vectors, Dot Product, Cross Product, Normals)
    • Special 4x4 Transformation Matrices
    • Vertex Transformations



(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!