Skip to content

Repository files navigation

vierkant

Preview

  • vierkant is a Vulkan 1.3 based rendering library written in C++20.
  • win64: example workflow linux: example workflow

rendering backends

  • gpu-driven rasterizer with compute-based frustum/occlusion-culling
  • optional support for meshlet-based pipelines (using VK_EXT_mesh_shader)
  • pathtracer using VK_KHR_ray_tracing_pipeline, useful for comparing against a groundtruth

features

  • load .hdr panoramas as mip-mapped cubemaps
  • utils for lambert- and GGX-convolutions used by rasterizer
  • glTF 2.0 via tinygltf
    • broad glTF2 coverage, including many KHR extensions (transmission, volumes, iridescence, ...)
  • pragmatic+easy interface, thanks imgui
  • entity-component-system (registry/entity) provided by entt

tools

built by default, disable with -DBUILD_VIERKANT_TOOLS=OFF

  • vierkant_ed Preview
    • 3d-viewer/editor with the raster- and raytracing backends
    • view a gltf2-model using an HDR-background: ./vierkant_ed foo.gltf bar.hdr
    • drag&drop model/image-files, save settings with 's'
  • cache_4km — bake self-contained .4km asset-bundles from model-files
  • pbr_thumbnailer — 3d-model thumbnailer, rasterization or path-tracer backend

nightly builds:

submodules:

About

vierkant is a Vulkan based rendering library written in C++20

Topics

Resources

Stars

23 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages