MomoEngineVK
personal project — C++ / Vulkan / HLSL — ongoing
view on github →
Overview
A Vulkan game engine I’m building as a continuation of the graphics programming work I started at TGA, now targeting Vulkan rather than DX11. The foundation is based on vkguide.dev, with the intent of eventually making a game in it. It supports both HLSL and GLSL shaders.
Features
rendering
- GLTF model and texture loading
- PNG texture loading with mipmap generation
- Basic lighting and PBR (Physically Based Rendering)
- Frustum culling and draw call sorting
gpu architecture
- Buffer Device Address
- Vertex Pulling
- Descriptor indexing (bindless textures)
- Dynamic rendering
- Synchronisation2
tooling
- CMake build system targeting Visual Studio
- Doxygen + Graphviz for auto-generated class and dependency graphs
- RenderDoc API integration with debug annotations
- Tracy profiler support
- ImGui for runtime debugging
Dependencies
Built with vkbootstrap, Vulkan Memory Allocator, volk, fastgltf, SDL, stb_image, glm, fmt, Tracy, and RenderDoc.
↑ back to top