hop-engine is one of my ongoing projects, where i've been building a cross-platform graphics engine using Vulkan. the end goal i've set myself is a reasonably fully featured graphics/game engine, which doubles as a tool capable of procedural geometry and texture generation. in particular i'm interested in non-destructive workflows, and automatable workflows. i want to be able to also use it as a batch image processing tool!


essentially, hop-engine is my big everything-project for graphics. my end goal is a graphical editor with node-based editing workflows for as much as possible (whether it makes sense or not!)


in particular, hop-engine has taught me a ton about the Vulkan API (and how to effectively wrap its low-level interfaces into user-friendly frontend resources), and has given some key lessons in thoughtful API design and architecture.


space-hop-demo

in order to showcase hop-engine at the Staffs Uni GradEx show recently (June 2026) i built the demo above, entirely using hop-engine. it features stylised post-processing, 3D modelling and texturing courtesy of me, and shows off a little bit of the UI library i've been working on within hop-engine.


the background images are provided by NASA, and are credited in the bottom right! the application can run on loop forever, and a new background is selected randomly each iteration. i do love my space themes and i do love my retro themes, so it's a logical combo.


there's lots of stuff in the works, but here's a reasonably complete feature summary:


i also learned a TON about build systems (i taught myself CMake), pixel-painted a font or two, developed my knowledge of rendering techniques and shader tricks, and generally got a lot more fluent in C++ (especially with modern paradigms)

examples of my semi-custom shader code and material descriptor