I took a 4 year Masters degree course in Computing Science, starting in 2010. During this time, I selected 4 different graphics modules, the first being a 2D introduction to computer graphics, and the other 3 being in 3D. All of these were implemented in C++ using OpenGL 3.2. All videos linked here suffer from low frame rate so they unfortunately appear jerky in places!
For my first 3D project (year 2), the design brief was to make a vehicle drive over uneven terrain, making sure it rotated with the curves of the landscape, and maintained the correct height above the ground. I chose to make a rubber duck explore a candy-themed pink world…
Forklift Truck Simulation
For my second 3D project (year 3), the brief was to make a fork lift truck, which could move, pick up and stack crates. I downloaded a basic model to use for the truck, and textured some cubes to look like playing blocks. I wanted this to have a sort of Toy Story theme to it.
I used the Separating Axis Theorem for collision detection between boxes, and between the truck and the boxes (forming a simple cuboid as the collider around the truck). The truck has movable parts which are used to pick up and put down boxes. The boxes were able to be stacked, and I implemented very basic gravity based physics, which meant the boxes fell straight down if a box was removed from underneath.
My third project (year 4) was to work in a pair to implement a 3D game, that involved motion capture and haptic feedback. I was responsible for the post-processing of motion capture animations, and writing the shaders (GLSL 4) to animate the models’ bones. I also write shaders for a spot light (torch) and scene lighting. I created a character controller so that the character could be moved (using an Xbox 360 controller) and the camera could be rotated. We chose a horror game setting that has humanoid creatures chase after you.