Cat on a Roomba
Uni Coursework - 3rd Year (94/100)
- Tech Stack: C++, OpenGL 2, Qt
- Demo URL: Link
A 3D scene sandbox created in C++ with OpenGL. This was implemented as a coursework for a Year 3 module. Demonstration video is available via the "See Project" link. It has elements of:
- Movement: User can move around using the keyboard and look around by dragging the mouse. This is done by changing the parameters in `gluLookAt`.
- Jump physics: Computed as a function of time. The function is specified by jump_height and time_to_land rather than gravity for finer control.
- Object selection: Done with false colour rendering.
- Simple modelling: The painting frames, table, and the room's walls/beams are drawn with intermediate mode by specifying the vertex coordinates, the normals, and the texture coordinates.
- Model loading: Done with assimp. Base code taken from the repository of Joey's Learn OpenGL book.
- Hierarchical modelling / Animation: The roomba translates and rotates, and the cat above it follows the same transformation. The cat wags his tail as well.
- Lighting & materials: Diffuse and specular lighting can be recognized on some models. (Shaders were not used for teaching purposes. Everything is drawn in immediate mode and is thus slow.)
I intend to extend the project to an interactive escape game in the future. This will introduce puzzle solving elements, an inventory system, and some postprocessing effects.