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.