When I was at University my favorite unit was called Visual & Interactive Computing and it was an elective. It was all about 3D Graphics, C++ and OpenGL. It was also the unit where I attained my highest mark, 92/100.
Heightfields / HeightMaps / Digital Elevation Models Importers & Renderers
Translates, Scales and Rotates within code
Models created in code using Translates, Scales, Rotates and Primatives (cube, spheres, etc)
Animation of models by using Rotates at specific points with stored variables and specific Mathematic logic
Models in Autodesk Maya and Blender
C++ Importers for the Autodesk Maya file format .obj
Movement of Models using Local Origin
Collision Detection Mathematics
Granularity, Collision Detection by breaking up a jump in movement into smaller parts
Created movement of Objects, halted movement using Collisions and really most world logic there is
Solved Venetian Blinding (or ZFighting, flickering between two polygons) by using the near/far plane, depth buffer or (preferably) syncing the polygons together
Knowledgable of OpenGL (or simply 3D Renderer) functionality such as Draw Rotation (winding order) and Depth Buffer (hidden cull), how and why it culls faces and its associated quirks
Normals; vertex or face
Vectors and Vector Normalization
Lighting & Materials; Specular, Diffuse, Emmisive, etc
Textures, Mip-Maps, Sprite Sheets & UV Mapping
GLSL Shaders
VR display using modern OpenGL framebuffers and the SteamVR (openvr.h) libraries
VR device co-ordinate and roll, pitch, yaw angle reading, rendering and recording. Such as the Tai Chi Masters hands replayed live (and compared to) in VR Tai Chi (ICTP)
Sending a framebuffer to both a VR Headset and also the Computer Monitor
OpenGL Legacy 1.2, OpenGL 4.4+, GLSL, WebGL, three.js
VIC (mentioned above) was create a Game World from scratch in C++ and old-style OpenGL.
ICTP, (the project unit) I took it upon myself to repeat the process of making a Game World from scratch in C++ though this time in Modern OpenGL (including GLSL Shaders) and display and recieve input through VR devices.
jbn.ai, a website written in JavaScript, WebGL, three.js and GLSL Shaders, and coupled seamlessly with the CSS, HTML frontend.
Webpage on VIC
justinbentley.net/uni/VIC
Webpage on ICTP
justinbentley.net/uni/ICTP
Digital Elevation Model / Heightfields
justinbentley.net/uni/VIC#Marked Tutorial II
1.5 hour walkthrough of OpenGL 1.2 (youtube)
jbn.ai/opengl-guide
.obj Mesh (Autodesk Object) Importer (youtube)
jbn.ai/mesh-importer
Autodesk Maya (youtube)
jbn.ai/youtube-autodesk
Microsoft© Bubbles Screensaver Clone (youtube)
jbn.ai/bubbles!
jbn.ai (3D Website)
jbn.ai