Skip to content
Overview
This project features a fully interactive 3D scene built with modern OpenGL and C++. It recreates the top of a nightstand using low-polygon shapes, realistic textures, and simple dynamic lighting.
I chose a nightstand so I could combine familiar objects while practicing core graphics skills: textures, materials, lighting, and camera controls. The four main objects are:
Features
Object Modeling
Textures & Materials
Lighting & Effects
Camera Navigation
Code Structure
├── MainCode.cpp # Entry point; initializes OpenGL and main loop
├── SceneManager.cpp # Prepares and renders 3D scene elements
├── SceneManager.h # SceneManager class interface
├── ViewManager.cpp # Handles camera movement and projection modes
├── ViewManager.h # ViewManager class interface
├── LightTypes.h # Structs for spotlights and point lights
├── ShaderManager.* # Shader handling
├── textures/ # Image files for scene materials
├── shaders/ # Vertex and fragment GLSL shaders
Full source code available on
GitHub.
Controls
Movement (WASD + Vertical)
Camera Interaction
View & Toggles
Screenshots
-
Full scene overview
-
Lamp on
-
Lamp off
-
Bottle detail
-
Clock display
-
Book cutaway