A 3D rendering engine implemented in C++ using modern OpenGL and GLSL.
This project demonstrates a complete programmable rendering pipeline, including custom model loading, texture mapping, and multi-light shading.
- Custom OBJ/MTL parser (no external model-loading libraries)
- Texture mapping with material support (map_Kd)
- Multi-light additive shading (Directional, Point, Spot)
- MVP (Model-View-Projection) transformation pipeline
- Real-time rendering using VAO/VBO
- Programmable shader pipeline (GLSL)
- Load OBJ/MTL files using a custom parser
- Normalize vertex geometry
- Upload vertex data to GPU using VAO/VBO
- Apply MVP matrix transformations
- Perform per-fragment lighting and texture sampling in GLSL
- Implemented custom OBJ/MTL loader without third-party libraries
- Designed full OpenGL rendering pipeline
- Implemented multi-light Phong-style shading model in GLSL
- Managed GPU buffers efficiently for real-time rendering
- Applied MVP matrix transformations for 3D scene control
- W / A / S / D – Control primary light position
- Arrow Keys – Control secondary light
- C++
- OpenGL
- GLSL
- GLEW
- FreeGLUT
- GLM
This project was developed using Visual Studio 2022 (Windows).
Requirements:
- OpenGL
- GLEW
- FreeGLUT
- GLM
Open the project in Visual Studio and ensure all dependencies are correctly configured before building.