OpenGL Render Engine
Start: April/May 2025
Type: Solo project
Project Duration: 5 weeks
Summary
As part of a graphics programming course, I developed a small render engine to better understand modern rendering pipelines. The goal was to go beyond the LearnOpenGL tutorials by organizing the code into reusable classes and managing object lifecycles safely. I implemented a structured system using std::shared_ptr and std::weak_ptr for resource management, and built Shader, Texture, and Material classes that allowed me to configure and combine assets easily. The engine uses OpenGL 3.3 for rendering, glm for math, stb_image for texture loading, and Assimp for importing 3D models. This project gave me practical insight into how a renderer handles data flow between CPU and GPU, how materials abstract shader parameters, and how careful memory ownership simplifies engine code.







