Skip to content

vk_oidn 0.1.1

Choose a tag to compare

@mklefrancois mklefrancois released this 15 Oct 06:32
· 9 commits to main since this release

This is the first vk_oidn release with prebuilt SDK packages, so you can use vk_oidn without building it. The library and API are unchanged since 0.1.0, and the 0.1.0 notes describe the denoiser, its performance and its validation.

SDK packages

Each package contains:

  • the header
  • static libraries with the compiled Slang kernels and the network weights
  • the CMake package files, so find_package(vk_oidn CONFIG) provides the vk_oidn::vk_oidn target

Building against a package needs only the Vulkan headers: no Python, no slangc, and nothing to compile from vk_oidn.

Package Contents
vk_oidn-0.1.1-windows-x64.zip vk_oidn.lib (Release) and vk_oidnd.lib (Debug). Built with Visual Studio 2022 and the /MD runtime; usable with Visual Studio 2022 and newer.
vk_oidn-0.1.1-linux-x64.tar.gz libvk_oidn.a (Release, position-independent code). Built with GCC 13 on Ubuntu 24.04.

Applications built as RelWithDebInfo or MinSizeRel link the Release library. The SHA-256 checksums of both packages are in SHA256SUMS.txt.

include(FetchContent)
if(WIN32)
  set(VK_OIDN_PACKAGE vk_oidn-0.1.1-windows-x64.zip)
else()
  set(VK_OIDN_PACKAGE vk_oidn-0.1.1-linux-x64.tar.gz)
endif()
FetchContent_Declare(vk_oidn_sdk
  URL https://github.com/mklefrancois/vk_oidn/releases/download/v0.1.1/${VK_OIDN_PACKAGE}
  URL_HASH SHA256=<from SHA256SUMS.txt>)
FetchContent_MakeAvailable(vk_oidn_sdk)
find_package(vk_oidn 0.1.1 EXACT CONFIG REQUIRED PATHS ${vk_oidn_sdk_SOURCE_DIR} NO_DEFAULT_PATH)
target_link_libraries(my_app PRIVATE vk_oidn::vk_oidn)

You can still build from the sources: FetchContent with GIT_TAG v0.1.1 provides the same target. The oidn_denoiser sample of vk_mini_samples supports both ways through its VK_OIDN_FROM_SOURCE option.

Changes

  • CMake install rules and a package configuration. cmake --install now creates the SDK package.
  • VK_OIDN_VERSION_MAJOR, VK_OIDN_VERSION_MINOR and VK_OIDN_VERSION_PATCH macros in vk_oidn.h. CMake checks that they match the project version.
  • CI builds the packages on every push and links a small test application against them (tests/package). For version tags, CI attaches the packages to the release.
  • README: how to add vk_oidn to a project, using the packages or the sources.