Skip to content
/ libhut Public

Another hobby attempt at a lightweight C++ GUI library.

Notifications You must be signed in to change notification settings

Jiboo/libhut

Repository files navigation

libhut is a vulkan & wayland wrapper library.

This is a hobby project, expect building nightmare, runtime crashes, missing features/documentation/tests, although contributions are welcome.

Extensions:

  • imgdec: decode various images and upload them to gpu
  • imgui: DearImGui backend implementation for libhut
  • ktx2: minimal ktx2 support (no basisu or supercompression)
  • render2d: axis-aligned box drawing with rounded corners, feather, gradients, ...
  • renderdoc: allows triggering renderdoc captures programmatically (used to debug headless unittests)
  • text: text layout and rendering
  • ui: lightweight ui toolkit using render2d and text extensions

Dependencies (Fedora):

  • common: mesa-vulkan-devel, glm-devel.
  • wayland: wayland-devel, wayland-protocols-devel, libwayland-cursor, libxkbcommon-devel.
  • build time: glslang (KhronosGroup/glslang), KhronosGroup/SPIRV-Reflect (via submodule).
  • volk (optional): zeux/volk (via submodule)
  • testing (optional): gtest-devel.
  • profiling (optional): fmt-devel, boost-devel.

Extensions dependencies (all optional):

  • imgdec: randy408/libspng (via submodule).
  • imgui: ocornut/imgui (via submodule).
  • renderdoc: renderdoc-devel.
  • text extension: freetype-devel, harfbuzz-devel.
  • ui: entt (via submodule).

About

Another hobby attempt at a lightweight C++ GUI library.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published