I Made a Graphics Engine (with Vulkan)

To learn for free on Brilliant, go to https://brilliant.org/Zyger/ . You’ll also get 20% off an annual premium subscription. I promised you that when we reached 100k subscribers I was going to try Vulkan. Well here is the first video of many of me making a graphics engine with Vulkan. In this video I cover making the project and setting up Vulkan, linking all libraries, 2D and 3D rendering, making an ECS (Entity Component System), UI programming and more ! ➤My Links: Discord: https://discord.gg/tYDXGja55Y Instagram: https://www.instagram.com/gabzxd/ Twitch: https://www.twitch.tv/officialzyger Twitter: https://twitter.com/ZygerDesigns Patreon: https://www.patreon.com/Zyger ➤Music by Epidemic Sounds ➤Ignore: I created my own graphics engine engine. I tried implementing as many features as I could. I began by rendering 2D shapes onto the screen and realized how much work it is to calculate all the vertices and indices hand. I then moved onto 3D shapes which was even harder. I created materials and textures which I would apply onto the objects. Then I moved onto implementing an ECS system which is an entity component system. So now I can create empty entities and add different components to them similar to Unity. I then went onto using ImGui to create the UI of the engine. This is things like a hierarchy menu, properties menu, scene view etc. Finally I created and interactive camera system for the scene, #gamedev #zyger #gameengine #vulkan

Channel: ZygerGenerated by anonymousDuration: 9mPublished Aug 23, 2025
Thumbnail for I Made a Graphics Engine (with Vulkan) ▶ Watch on YouTube

Video Chapters

Original Output

0:00 Kicking off the Epic Journey: Building a Brand New Engine
0:28 The First Glimmer: Our Engine's Window Emerges!
0:49 Mastering Vulkan: Rendering Our First Triangle
1:47 Architecting the Core: Implementing a Custom Entity Component System (ECS)
5:16 Bringing the Editor to Life: Crafting Our ImGui UI
6:10 Intuitive Control: Integrating ImGuizmo for Object Manipulation
6:51 SpriteRenderer Unleashed: Bringing 2D Shapes to Life
7:36 Elevating Graphics: Loading and Displaying 3D Models with MeshRenderer
8:13 Mastering Perspective: Implementing Intuitive Camera Controls
8:27 The Road Ahead: Engine Status & Future Development Plans

Timestamps by StampBot 🤖

Unprocessed Timestamp Content

0:00 Welcome! From 100k subs to building a shiny new engine
0:08 Get ready for the first engine development blog, let's go
0:17 First steps: creating the project and the long road to a window
0:28 Finally a window! It only took 56 minutes, but we got there
0:39 Rebuilding the project with CMake for better organization, smart moves
0:49 Following a Vulkan tutorial, step-by-step to rendering a triangle
1:01 Realizing one massive file is bad, time to reorganize into classes
1:12 Diving into the 'window.cpp' class for window handling magic
1:16 Exploring 'swapchain.cpp' for managing our lovely swap chain
1:21 Understanding 'pipeline.cpp' and how shaders become art
1:27 The 'engine.cpp' class: where all the engine's main magic happens
1:31 The "main func" where the engine starts its epic journey
1:40 Back to an empty window, because engine development is rarely linear
1:47 Time to implement Entity Component Systems, like Unity but custom
2:00 What is ECS? A quick overview for game engine enthusiasts
2:27 The Entity header: just a simple integer ID, nothing too fancy
2:44 The ECS Registry: responsible for managing entities and their lives
3:01 Component structures: where all the data lives, clean and efficient
3:16 Why structures over classes? More efficient data handling for speed
3:38 Using the ECS system in practice: creating and adding components easily
3:48 Learning to code while making your engine with our awesome sponsor
5:16 Okay, back to the engine! Building an ImGui-based editor UI
5:40 Our new shiny editor: hierarchy, properties, and scene view in action
6:02 The properties panel: tweaking components, like a digital sculptor
6:10 ImGuizmo integration: moving, scaling, and rotating objects with ease
6:35 The rendering components: introducing SpriteRenderer and MeshRenderer
6:51 SpriteRenderer in action: making 2D shapes pop with colors and textures
7:36 MeshRenderer at work: loading 3D models and giving them life
8:13 Camera controls: navigating the 3D world just like in Unity
8:27 Current engine status and exciting plans for future GitHub releases

Timestamps by StampBot 🤖