Custom Render Engine (C++/Vulkan)

A basic Vulkan render engine project created as part of my graduation project. Throughout this project I took a deep dive into computer graphics and engine programming using C++ and Vulkan graphics API.

My work

  • Implemented the fundamental pipelines for rendering with Vulkan.

  • Implemented a 3D space camera.

  • Implemented a GLTF model loader with textures.

  • Implemented a lighting system using point lights with the Blinn-Phong lighting model.

Outcomes

I started from scratch using the Vulkan API, learning what is under the hood of graphics systems and trying to exercise the best practices in order to keep the code clean, efficient and organized as the project grew.

During the project, I found out that there aren't a lot of resources for learning Vulkan, but this became less of a problem as throughout the project I got better at reading and working with sample codes/other publicly available projects.

This was a fun, challenging and rewarding project all at once. It certainly wasn't without some frustrating moments but it taught me so much about engine and graphics programming as well as granting me my MSc degree.

Date

Jul 2024 - Oct 2024

Role

All

Project Type

Solo - Dissertation

Link(s)

Engine

Custom self-made

Language/API

C++/Vulkan

...
...
...
...