

PROJECT TITLE
Funfair Graphics Project – C++ OpenGL
Duration
February - May 2025
Role
3D Graphics
Shader
Tools
C++
Blender
OpenGL
GLM
tinyobjloader
Design Highlights
Fully interactive funfair scene with a ferris wheel, bumper cars, and plane carousel.
OBJ parser integration to load and modify external 3D models.
Dynamic camera modes like bird’s eye view and first-person
Shadows. transparency, Phong lighting, and skybox environment.
Interactive elements such as light toggling, object visibility and light switching.
OVERVIEW
Description
I built a playful, interactive 3D funfair scene with rides, procedural objects, and dynamic rendering techniques. The project includes a rotating Ferris wheel with accurately matched carriages, a spinning plane carousel, and bumper cars that follow Bezier curve paths. Procedural geometry like lamp lights and a glass of water were modelled using trigonometric functions, while OBJ-imported objects enhanced the environment.
The combination of lighting, shadows, transparency, and a skybox environment created a dynamic scene, with interactive controls to switch cameras, toggle lights, and explore the scene in real-time. This project aimed to integrate technological complexity through shaders, transformations, and frame buffers with a creative vision influenced by Santa Monica Pier from the video game GTA V.
Final Designs
Scene Overview
The funfair scene brings together a collection rides, props, and environmental detail. The Ferris wheel is the most prominent feature with its rotating structure and swinging carts, while the carousel and bumper cars add diversity and energy to the ground level.
Procedurally generated lamps light the scene and a skybox frames the scene with a sense of scale. The scene overview shows how animation, texturing, and geometry all work together to make a cohesive 3D experience.
