Skip to content

Releases: RenderKit/oidn

Open Image Denoise v2.2.0-rc

02 Feb 12:05

Choose a tag to compare

Pre-release
  • Improved denoising quality (better fine detail reconstruction)
  • Added Intel Meteor Lake GPU support (in Intel® Core™ Ultra Processors)
  • Added Metal device for Apple silicon GPUs (requires macOS Ventura or newer)
  • Added ARM64 (AArch64) CPU support on Windows and Linux (in addition to macOS)
  • Improved CPU performance
  • Switched to the CUDA driver API by default, added the OIDN_DEVICE_CUDA_API
    CMake option for manually selecting between the driver and runtime APIs
  • Fixed crash when releasing a buffer after releasing the device

Open Image Denoise v2.1.0

11 Oct 21:40

Choose a tag to compare

  • Added support for denoising 1-channel (e.g. alpha) and 2-channel images
  • Added support for arbitrary combinations of input image data types
    (e.g. OIDN_FORMAT_FLOAT3 for color but OIDN_FORMAT_HALF3 for albedo)
  • Improved performance for most dedicated GPU architectures
  • Re-added OIDN_STATIC_LIB CMake option which enables building as a static
    (CPU support only) or a hybrid static/shared (GPU support as well) library
  • Added release() method to C++ API objects (DeviceRef, BufferRef,
    FilterRef)
  • Fixed possible crash when releasing GPU devices, buffers or filters
  • Fixed possible crash at process exit for some SYCL runtime versions
  • Fixed image quality inconsistency on Intel integrated GPUs, but at the cost
    of some performance loss
  • Fixed future Windows driver compatibility for Intel integrated GPUs
  • Fixed rare output corruption on AMD RDNA2 GPUs
  • Fixed device detection on Windows when the path to the library has non-ANSI
    characters
  • Added support for Intel® oneAPI DPC++/C++ Compiler 2024.0 and compatible
    open source compiler versions
  • Upgraded to oneTBB 2021.10.0 in the official binaries
  • Improved detection of old oneTBB versions

Open Image Denoise v2.0.1

26 Jun 16:49

Choose a tag to compare

  • Fixed performance issue for Intel integrated GPUs using recent Linux drivers
  • Fixed crash on systems with both dedicated and integrated AMD GPUs
  • Fixed importing D3D12_RESOURCE, D3D11_RESOURCE, D3D11_RESOURCE_KMT,
    D3D11_TEXTURE and D3D11_TEXTURE_KMT external memory types on CUDA and
    HIP devices
  • Fixed the macOS deployment target of the official x86 binaries (lowered from
    11.0 to 10.11)
  • Minor improvements to verbose output

Open Image Denoise v2.0.0

24 May 21:29

Choose a tag to compare

  • Added SYCL device for Intel Xe architecture GPUs (Xe-LP, Xe-HPG and Xe-HPC)
  • Added CUDA device for NVIDIA Volta, Turing, Ampere, Ada Lovelace and Hopper
    architecture GPUs
  • Added HIP device for AMD RDNA2 (Navi 21 only) and RDNA3 (Navi 3x)
    architecture GPUs
  • Added new buffer API functions for specifying the storage type (host, device
    or managed), copying data to/from the host, and importing external buffers from
    graphics APIs (e.g. Vulkan, Direct3D 12)
  • Removed the oidnMapBuffer and oidnUnmapBuffer functions
  • Added support for asynchronous execution (e.g. oidnExecuteFilterAsync,
    oidnSyncDevice functions)
  • Added physical device API for querying the supported devices in the system
  • Added functions for creating a device from a physical device ID, UUID, LUID
    or PCI address (e.g. oidnNewDeviceByID)
  • Added SYCL, CUDA and HIP interoperability API functions (e.g. oidnNewSYCLDevice,
    oidnExecuteSYCLFilterAsync)
  • Added type device parameter for querying the device type
  • Added systemMemorySupported and managedMemorySupported device parameters
    for querying memory allocations supported by the device
  • Added externalMemoryTypes device parameter for querying the supported
    external memory handle types
  • Added quality filter parameter for setting the filtering quality mode (high
    or balanced quality)
  • Minor API changes with backward compatibility:
    • Added oidn(Get|Set)(Device|Filter)(Bool|Int|Float) functions and
      deprecated oidn(Get|Set)(Device|Filter)(1b|1i|1f) functions
    • Added oidnUnsetFilter(Image|Data) functions and deprecated
      oidnRemoveFilter(Image|Data) functions
    • Renamed alignment and overlap filter parameters to tileAlignment
      and tileOverlap but the old names remain supported
  • Removed OIDN_STATIC_LIB and OIDN_STATIC_RUNTIME CMake options due to
    technical limitations
  • Fixed over-conservative buffer bounds checking for images with custom strides
  • Upgraded to oneTBB 2021.9.0 in the official binaries

Open Image Denoise v1.4.3

15 Feb 14:45

Choose a tag to compare

  • Fixed hardcoded library paths in installed macOS binaries
  • Disabled VTune profiling support of oneDNN kernels by default, can be
    enabled using CMake options if required (DNNL_ENABLE_JIT_PROFILING and
    DNNL_ENABLE_ITT_TASKS)
  • Upgraded to oneTBB 2021.5.0 in the official binaries

Open Image Denoise v1.4.2

03 Nov 17:30

Choose a tag to compare

  • Added support for 16-bit half-precision floating-point images
  • Added oidnGetBufferData and oidnGetBufferSize functions
  • Fixed performance issue on x86 hybrid architecture CPUs (e.g. Alder Lake)
  • Fixed build error when using OpenImageIO 2.3 or later
  • Upgraded to oneTBB 2021.4.0 in the official binaries

Open Image Denoise v1.4.1

22 Jun 22:48

Choose a tag to compare

  • Fixed crash when in-place denoising images with certain unusual resolutions
  • Fixed compile error when building for Apple Silicon using some unofficial
    builds of ISPC

Open Image Denoise v1.4.0

18 May 03:08

Choose a tag to compare

  • Improved fine detail preservation
  • Added the cleanAux filter parameter for further improving quality when the
    auxiliary feature (albedo, normal) images are noise-free
  • Added support for denoising auxiliary feature images, which can be used
    together with the new cleanAux parameter for improving quality when the
    auxiliary images are noisy (recommended for final frame denoising)
  • Normals are expected to be in the [-1, 1] range (but still do not have to
    be normalized)
  • Added the oidnUpdateFilterData function which must be called when the
    contents of an opaque data parameter bound to a filter (e.g. weights) has
    been changed after committing the filter
  • Added the oidnRemoveFilterImage and oidnRemoveFilterData functions for
    removing previously set image and opaque data parameters of filters
  • Reduced the overhead of oidnCommitFilter to zero in some cases (e.g. when
    changing already set image buffers/pointers or the inputScale parameter)
  • Reduced filter memory consumption by about 35%
  • Reduced total memory consumption significantly when using multiple filters
    that belong to the same device
  • Reduced the default maximum memory consumption to 3000 MB
  • Added the OIDN_FILTER_RT and OIDN_FILTER_RTLIGHTMAP CMake options for
    excluding the trained filter weights from the build to significantly
    decrease its size
  • Fixed detection of static TBB builds on Windows
  • Fixed compile error when using future glibc versions
  • Added oidnBenchmark option for setting custom resolutions
  • Upgraded to oneTBB 2021.2.0 in the official binaries

Open Image Denoise v1.3.0

04 Feb 23:30

Choose a tag to compare

  • Improved denoising quality
    • Improved sharpness of fine details / less blurriness
    • Fewer noisy artifacts
  • Slightly improved performance and lowered memory consumption
  • Added directional (e.g. spherical harmonics) lightmap denoising to the
    RTLightmap filter
  • Added inputScale filter parameter which generalizes the existing
    (and thus now deprecated) hdrScale parameter for non-HDR images
  • Added native support for Apple Silicon and the BNNS library on macOS
    (currently requires rebuilding from source)
  • Added OIDN_NEURAL_RUNTIME CMake option for setting the neural network
    runtime library
  • Reduced the size of the library binary
  • Fixed compile error on some older macOS versions
  • Upgraded release builds to use oneTBB 2021.1.1
  • Removed tbbmalloc dependency
  • Appended the library version to the name of the directory containing the
    installed CMake files
  • Training:
    • Faster training performance
    • Added mixed precision training (enabled by default)
    • Added efficient data-parallel training on multiple GPUs
    • Enabled preprocessing datasets multiple times with possibly different
      options
    • Minor bugfixes

Open Image Denoise v1.2.4

02 Oct 15:54

Choose a tag to compare

  • Added OIDN_API_NAMESPACE CMake option that allows to put all API functions
    inside a user-defined namespace
  • Fixed bug when TBB_USE_GLIBCXX_VERSION is defined
  • Fixed compile error when using an old compiler which does not support
    OpenMP SIMD
  • Added compatibility with oneTBB 2021
  • Export only necessary symbols on Linux and macOS