Module 1 - Introduction to Computer Graphics | C++ and Images - Module Overview
./../../private/images/1/header.jpg
./../../private/images/1/header2.jpg
./../../private/images/1/header3.jpg
×
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


Slides


(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 start the course!


Module Outline

  • Lecture outline
    • Course Structure/Administrivia
    • Introduction to Computer Graphics
    • Introduction to Graphics APIs and some History
    • C++ Introduction
    • Understanding images
    • images (cpu) versus 'textures' (GPU)
    • Pixels
    • Components of a pixel (RGB, RGBA)
    • Image Formats (bitmap, PPM, exr, etc.)
    • Accessing Pixel Data as an array or 2D-array (and with std::vector)
    • Using GIMP to create PPM (Ascii format) Images
    • Organizing a C++ Project for an Image Loader
    • Understanding the C++ compilation process

Commentary

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