Portfolio

Computer graphics project : 3D room

I carried out this project as part of my computer graphics course in the third year at Polytech. The goal was to create an interactive 3D scene using OpenGL for rendering and Blender for object modeling.

I designed a complete room with a floor, textured walls, a desk, a bed, a computer, a lamp, and other decorative elements. The scene includes a free camera (FPS style) and an orbital camera, with the ability to switch between them using the C key. The lighting is dynamic, based on the Phong model, with a movable light source. I also added a transparent window by creating a hole in the wall and simulating an outdoor view, which allowed me to manipulate the stencil buffer and depth testing. The 3D objects (furniture, screen, keyboard, etc.) were modeled in Blender. A small animation makes the PC fan rotate and the light pulse. This project taught me a great deal about the OpenGL graphics pipeline, managing transformation matrices, shaders, textures, and lighting. I also deepened my understanding of object-oriented architecture to organize the scene into nodes and reusable shapes. Solving rendering issues and optimizing performance were very challenging and instructive.

I invite you to check out the source code on GitHub for more details.