Back to projects
Project Space
About the Project
Project Space is an interactive 3D graphics application built from scratch using C++ and OpenGL for the course 'Computer Graphics & Visual Computing', developed together with one other student. The project is styled with a Rick and Morty theme.
Because we built the graphics and rendering pipeline ourselves, we utilized GLFW for window creation, GLAD for loading OpenGL functions, TinyObjLoader for importing 3D models, and wrote custom vertex and fragment shaders in GLSL.
The scene features Earth at the center, surrounded by a space skybox, with Rick's spaceship flying around the planet. The ship follows two distinct flight paths, which are visually highlighted with guiding arrows. Users can interactively switch the ship's trajectory by clicking on Rick's portal gun. This is powered by a color-picking mechanism: clicking the gun spawns a portal, and as soon as the ship flies through it, it dynamically transitions to the other track.
To explore the scene, players can switch between multiple camera modes, including sitting inside the ship behind the wheel (with mouse look) or navigating freely through the scene using a free-fly camera.
We also set up realistic lighting using different light sources like the sun and ring lights, including light attenuation on the ship. For the visual style, we also implemented custom post-processing shaders featuring Gaussian blur, Laplacian edge detection, bloom, and chromakeying with a custom green-screen overlay image. These effects can be toggled in real-time through key presses.
(Though admittedly, the bloom and Laplacian edge detection look quite intense and chaotic due to some extreme parameter tuning)
Demo
demo.mp4