HomeProjectsAbout

OpenGL Render Engine


Tags: C++, OpenGL, Rendering, Engine, Solo Project

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.

Source Code

Project Link