Skip to content

Releases: KhronosGroup/ANARI-SDK

v0.11.1

29 Oct 16:18
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.11.0...v0.11.1

v0.11.0

18 Oct 23:36
Compare
Choose a tag to compare

Changes since last release

  • The ANARI front end library is now built both as a shared and static library using the anari::anari and anari::anari_static CMake targets respectively
    • The anariInfo tool links against anari::anari_static for ease-of-use
  • New extensions now included in code_gen json:
    • KHR_INSTANCE_TRANSFORM_ARRAY
    • KHR_GEOMETRY_ISOSURFACE
  • New OpenUSD plugin for Hydra 'hdAnari'
    • Currently runs within usdview and ought to run in any Hydra based viewport
    • Implementation is experimental and will continue to mature in further release
  • The debug device can now be enabled and controlled entirely with environment variables
  • CTS improvements:
    • Removed usage of glm in favor of linalg header shipped by the SDK
    • Added test descriptions to reports
    • Added tests based on glTF-Sample-Assets
      • Data is downloaded and cached via CMake FetchContent() when CTS is enabled
    • Added KHR_GEOMETRY_ISOSURFACE test
  • Helide improvements:
    • Updated to Embree v4.3.3
    • Implemented support for KHR_INSTANCE_TRANSFORM_ARRAY
    • Tasking system size can be controlled via the HELIDE_NUM_THREADS environment variable
    • Add renderer parameter to tweak eye light blend amount
  • anari_viewer improvements:
    • New top-level namespace to better organize code
    • Updated Dear Imgui and nfd versions
  • Simplification to the remote device build dependency requirements
  • Other various small bug fixes

Full Changelog

New Contributors

Full Changelog: v0.10.0...v0.11.0

v0.10.0

29 May 22:27
Compare
Choose a tag to compare

Changes since last release

  • Build updates to allow installing code-gen scripts and anari_viewer without needing to use them in the build
  • Add new helium smart pointer type (ChangeObserverPtr) to automatically manage object observers
  • Add support in helide for ANARI_KHR_FRAME_COMPLETION_CALLBACK
  • Sync size of ANARI_BOOL to be 1 byte instead of 4 to match latest spec revision
  • Add glTF and KTX support to anariViewer
  • Minor updates to anari_cpp headers to be more consistent
  • Fix various bugs in code gen, python bindings, and examples

PRs

Full Changelog: v0.9.1...v0.10.0

v0.9.1

19 Mar 15:40
Compare
Choose a tag to compare

What's Changed

  • fix blending issues in helide + update readme with additional implementations by @jeffamstutz in #191

Full Changelog: v0.9.0...v0.9.1

v0.9.0

15 Mar 20:19
Compare
Choose a tag to compare

Changes since last release

  • Added support for uniform geometry attributes to queries and helide
  • Added empty libhelium device (hecore) for use as a starting template
  • Improved error messages when libhelium element type is incorrectly queried
  • Update Dear ImGui version to v1.94 for anari_viewer
  • Various bug fixes and reduced compiler warnings

PRs

Full Changelog: v0.8.0...v0.9.0

v0.8.0

27 Nov 16:34
Compare
Choose a tag to compare

Changes since last release

  • Added new (experimental) add-on for Blender v4.0+
  • Added missing JSON definition for KHR_FRAME_ACCUMULATION
  • Lifted host-side ANARIArray implementation into helium from helide for use in other devices
  • Added features to aid helium devices in implementing KHR_DEVICE_SYNCHRONIZATION
  • Added support for additional extensions in helide:
    • KHR_FRAME_CHANNEL_PRIMITIVE_ID
    • KHR_FRAME_CHANNEL_OBJECT_ID
    • KHR_FRAME_CHANNEL_INSTANCE_ID
    • KHR_DEVICE_SYNCHRONIZATION
  • Fix crash in libanari front end library when ANARI library loading fails
  • Added new README guide for how to enable a device implementation under libanari
  • Various robustness fixes + cleanups for remote device
  • Various CMake cleanups and improvements
    • New usage of find_package COMPONENTS for requesting/using optional SDK viewer and code_gen components
  • Various viewer improvements

What's Changed

Full Changelog: v0.7.2...v0.8.0

v0.7.2

11 Sep 14:25
Compare
Choose a tag to compare

Changes since last release

  • Various CMake improvements to prevent invalid build setups
  • Fix crash in CTS when querying device information
  • Fix incorrect type of outOffset parameter in transform sampler queries
  • Mention vcpkg deployment in README
  • Revise regression test binary help text
  • Fix helide incorrectly handling background color
  • Fix helide incorrectly handling camera imageRegion parameter

What's Changed

New Contributors

Full Changelog: v0.7.1...v0.7.2

v0.7.1

22 Aug 20:41
Compare
Choose a tag to compare

Changes since last release

  • Fix issue in helide where indexed spheres did not fetch the correct attributes
  • Fix incorrect property name used for querying the helide extension list from the device
  • Fix issues when installing anari_viewer and consuming it in downstream builds

What's Changed

Full Changelog: v0.7.0...v0.7.1

v0.7.0

12 Aug 03:40
8a67d54
Compare
Choose a tag to compare

Changes since last release

Updates to synchronize with the latest changes in the v1.0 ANARI Specification

  • Frame channels have their own individually associated extensions
  • Instances are subtyped for motion blur
  • scivis volume was renamed to transferFunction1D
  • Strides have been removed from shared arrays
    • Devices and applications wanting to use sparse arrays should implement them as vendor extensions, but lack of existing usage made their inclusion in v1.0 premature
  • New API calls for directly setting array parameters (anariSetParameterArray[1,2,3]D())
  • Object queries are now done primarily using ANARIDevice instead of ANARILibrary, as it is possible to create devices without going through the standard library loading mechanism

Other SDK updates

  • Major additions to helide, demonstrating many more ANARI extensions
  • New C++ class-based method for specifying ANARILibrary implementations.
    • See helide or sink devices as an example of how to adapt to the new way of implementing libraries
  • Many CTS updates to improve API test coverage
  • anari_utilities has been removed in favor of using helium
  • Added new tutorials and updated existing ones to add clarity of concepts each one introduces to users
  • New version of anariViewer to more easily showcase test scenes and other ANARI concepts
    • The components to create viewers like anariViewer are installable as an experimental component, see the anari_viewer README for more details
  • The debug device no longer requires custom debug objects to be created by devices, all debugging is done via the normal device/object queries
  • New experimental remote device implementation
    • This implements a server/client model of forwarding ANARI calls to a remote machine, see the device's README for details
  • External dependencies downloaded by CMake are consolidated under the source tree, making builds without an internet connection possible
    • Additional source archives will be created for each release which contain all downloaded dependencies

What's Changed

New Contributors

Full Changelog: v0.3.0...v0.7.0

v0.3.0

21 Jan 04:07
Compare
Choose a tag to compare

Changes since last release

Updates to synchronize with the latest changes in the ANARI Specification

  • Framebuffer channel names are prefixed with "channel."
  • Rename ANARI_TYPE_LIST to ANARI_DATA_TYPE_LIST
  • Fix camera and instance transforms to accept 4x4 matrices instead of 4x3

Other SDK updates

  • Initial implementation of the python based Conformance Test Suite (CTS)
    • This phase of CTS development focused on construction of testing infrastructure, future work will focus on creating tests to cover API features and extensions
    • See README for details on how to run the test suite
  • New base device library (helium) for expediting common device abstractions and base implementation
    • This library replaces anari_utilities, which will be removed in the next release
    • See README for details on how to leverage the library
  • New example device based on helium (helide)
    • This device is built on Embree and is intended to primarily demonstrate helium and be widely available. This fully replaces the old example device, but shares the non-goal of ANARI extension completeness.
  • Loading the environment device (i.e. reading ANARI_LIBRARY) does not terminate on failure
  • Robustness and completeness updates in code generation infrastructure
  • New OpenGLES version of the example viewer app

What's Changed

New Contributors

Full Changelog: v0.2.0...v0.3.0