Interactive 3D Environment
The full code for this project can be seen on GitHub:
This project, developed in C++ using OpenGL within Visual Studio, implements a 3D scene manager and view manager system.
​
SceneManager.cpp handles the creation of low-polygon 3D objects such as planes, boxes, cylinders, pyramids, and spheres. Textures were applied from source JPG images, with two types of lighting—spotlight and directional—incorporating ambient, diffuse, and specular components. Materials were defined to reflect light realistically, enhancing lifelike surface textures.
​
ViewManager.cpp manages user input and camera functions. The camera allows free movement through the scene using WASD keys for navigation, QE for vertical movement, and mouse scroll for zooming. Users can also switch between perspective and orthographic views with the O and P keys.
All files follow best practices, featuring clean, readable, and well-documented code that runs as intended.




