GitHub - ka-iden/hyper: Mini Vulkan Engine for testing

Caution

I have moved to Codeberg. Repo has moved here.
Repo has been archived not because I won't touch it, but this also does not
mean I will come back to this project any time soon, only that I want to
avoid GitHub unless I need it, such as for contributions to other's projects.

Making myself a little Vulkan Engine using C++.
I named it hyper because I want to make a fast-ish engine (probably not how it'll turn out haha).

Progress

I want to completely understand how the whole vulkan graphics pipeline works, so I will not be using any tools such as vk-bootstrap.

  • Vulkan Initialisation
  • The Interesting Stuff
  • Extras
  • Window Creation
  • ShaderEXT Creation
  • Deferred Rendering
  • Instance Creation
  • Eradication of Pipelines
  • Asset System
  • Extension Setup
  • Buffer Class
  • Multiple Shader Setup
  • Device Handling
  • Image Class
  • Post-Processing
  • Queues
  • Mesh Class
  • Material System
  • Swapchain
  • Compute Shaders
  • Raytracing (maybe)
  • Buffers
  • ImGUI Implementation
  • Meshlet Rendering (maybe)
  • Textures
  • Instancing
  • GLTF Loading
  • Multithreading
  • Mipmaps

Building

You can build this on Windows using the included Visual Studio 2022 solution.
I plan to one day use CMake or Premake, but until then, VS2022 FTW
Builds may be found here sometimes, but I probably won't upload them too often until I am way later in development.

Tools

Learning Resources

Licenses

This project is licensed under the MIT License.
GLFW is licensed under the zlib/libpng license, and the license file is in here.
stb_image is both in the public domain (Unlicense) and underneath the MIT License. Their custom license file is found here.
ImGui is licensed under the MIT License.
Vulkan-Hpp is licensed under the Apache License 2.0.
VulkanMemoryAllocator is licensed under the MIT License.
tinyobjloader is licensed under the MIT License, and the license file is in here.