Skip to content

Releases: NVIDIA/VisRTX

v0.13.0

04 Dec 19:48

Choose a tag to compare

Changes in this release

  • Directory structure overhaul (!)
    • Sub-projects are much more stand alone and are buildable as individual projects
  • Update to latest ANARI SDK v0.15.0
  • RTX Device improvements:
    • Add experimental support for neural geometry primitives (VISRTX_USE_NEURAL)
    • Much improved shading quality for the default renderer:
      • Improvements to bounces caused by both physicallyBased and mdl materials
      • Implemented basic importance sampling for HDRI lights to reduce noise
      • Lights now follow an inverse-square falloff
      • Support for new lights:
        • Sphere (point lights with a radius)
        • KHR_LIGHT_QUAD
        • KHR_LIGHT_RING
      • Support new KHR_SAMPLER_IMAGE_CLAMPxD_TO_BORDER extension for additional image sampler wrap mode
      • Support the visible flag on ANARISurface and ANARIVolume
    • Fixed issues blending with the background correctly
    • Updates for building with CUDA 13+
    • Various performance + bug fixes
  • GL Device improvements:
    • Fix image3D sampler not working correctly
    • Compilation fixes for newer compilers
  • TSD improvements (far too many to itemize here):
    • Manjor sub-library refactoring + feature consolidation
    • Many new importers
    • Many UI improvements
    • Various new demo applications
    • Various performance improvements + stability fixes

Merged PRs

New Contributors

Full Changelog: v0.12.0...v0.13.0

v0.12.0

18 Jun 22:11

Choose a tag to compare

Changes in this release

  • Update to latest ANARI SDK v0.14.0
    • Use new SDL3 based anari_viewer infrastructure for TSD
    • Use new core extensions which replace obsolete VISRTX_ specific versions where applicable
  • Added OptiX/driver version validation checks on RTX device initialization
  • Various improvements to (experimental) MDL materials in RTX device
  • Removed old visrtxViewer app (use tsdViewer instead)
  • TSD improvements:
    • Added built-in application state serialization (replaces/deprecates conduit import/export)
    • Removed obsolete applications (tsdMaterialExplorer and tsdVolumeViewer), as tsdViewer can now do everything those did
    • Added support for multiple named "layers" to better organize scenes
    • Added import support for Haystack mesh files (.hsmesh)
    • Added initial support for importing OpenUSD files
    • Added mesh tangents, lights, and more material parameters in assimp importer
    • Added ability to defragment + cleanup used objects within a TSD context (reduce memory usage + faster state file I/O)
    • Many usability updates for UI
    • Various bug fixes

Merged PRs

Full Changelog: v0.11.0...v0.12.0

v0.11.0

21 Mar 21:18

Choose a tag to compare

Changes in this release

  • Update to latest ANARI SDK v0.13.1
  • Added RTX device support for core extensions:
    • KHR_LIGHT_HDRI (only used in background)
    • KHR_LIGHT_SPOT
    • EXT_SAMPLER_COMPRESSED_IMAGE2D
    • EXT_SAMPLER_COMPRESSED_FORMAT_BC123
    • EXT_SAMPLER_COMPRESSED_FORMAT_BC45
  • RTX device now automatically downloads OptiX headers, removing the requirement for them to already be installed
    • Versions 7.7-9.0 can be used via the OPTIX_FETCH_VERSION CMake variable
  • Renamed CUDA interop extensions to more generic names (for use in other devices)
    • VISRTX_ARRAY_CUDA --> NV_ARRAY_CUDA
    • VISRTX_CUDA_OUTPUT_BUFFERS --> NV_FRAME_BUFFERS_CUDA
  • RTX device bug fixes:
    • Fixed incorrect + incomplete impementation of transferFunction1D volume parameters
    • Fixed various thread safety issues when rendering frames and querying world bounds simultaneously from different threads
  • Fix GL device incorrectly reading back FLOAT32_VEC4 frame buffer data on map
  • TSD improvements:
    • New file importers (PDB .ent files, SWC, XYZ, and MHD volumes)
    • New animated particles demo app to showcase CUDA interop driving sphere positions
    • Many UI additions + improvements to allow more parameter/object editing for better testing
    • Various robustness bug fixes

Merged PRs

New Contributors

Full Changelog: v0.10.1...v0.11.0

v0.10.1

21 Jan 22:34

Choose a tag to compare

Changes in this release

  • Fix GPU memory leaking array data in some cases

Full Changelog: v0.10.0...v0.10.1

v0.10.0

10 Jan 16:17

Choose a tag to compare

Changes in this release

  • Update to latest ANARI SDK v0.12.0
  • Added new RTX device-specific extensions (see readme for more information):
    • VISRTX_ARRAY_CUDA: Permits using CUDA device pointers in shared ANARI arrays
      • Currently only tested with spatial fields, but more robust support will come in future releases as-needed
    • VISRTX_INSTANCE_ATTRIBUTES: Uniform attributes can be set on ANARIInstance objects, which overrides any found on relevant geometries below it in the scene hierarchy
    • VISRTX_SPATIAL_FIELD_NANOVDB: nanovdb is now an available ANARISpatialField subtype
    • (optionally built) VISRTX_MATERIAL_MDL: preliminary support for using MDL materials via the mdl ANARIMaterial subtype
      • Note this is still very experimental and is expected to improve in future releases
  • Other RTX device improvements and bug fixes:
    • Added support for KHR_INSTANCE_TRANSFORM_ARRAY
    • Added support for KHR_SAMPLER_IMAGE3D
    • Fixes in the RTX device for race conditions when using the device in parallel from multiple threads
    • Fixed incorrect depth buffer values in some cases
  • Introduce new sample application (TSD) infrastructure for more complete/robust ANARI application testing
    • Can be built alongside the devices (enabled with VISRTX_BUILD_TSD=ON in CMake), or building as a stand alone project
    • Existing example applications are now deprecated in favor of TSD
    • TSD is considered a generic ANARI framework and is expected to be usable with any ANARI device
    • TSD is currently only built as a static library and is not an installable component, external projects that want to build on it are expected to add_subdirectory() the tsd/ folder. Making TSD installable may come in a future release if enough demand for it exists.
    • While TSD is mostly undocumented, future releases will slowly add more documentation as architecture/design stabilizes

New Contributors

Full Changelog: v0.9.0...v0.10.0

v0.9.0

29 May 22:41

Choose a tag to compare

Changes in this release

  • Update to latest ANARI SDK v0.10.0
  • RTX device improvements:
    • Allow serial/parallel shader compilation as a build option
    • Minimize BLAS (ANARIGroup) rebuilds when they are not necessary
    • Support opacity in dpt renderer
    • Tweaked ao + raycast renderers to be more unique compared to the default renderer
    • Fix missing DoF in reported extensions
    • Various minor performance improvements
  • GL device improvements:
    • Add experimental support for compressed textures:
      • EXT_SAMPLER_COMPRESSED_IMAGE2D
      • EXT_SAMPLER_COMPRESSED_FORMAT_ATC
      • EXT_SAMPLER_COMPRESSED_FORMAT_BC123
      • EXT_SAMPLER_COMPRESSED_FORMAT_BC45
      • EXT_SAMPLER_COMPRESSED_FORMAT_BC67
      • EXT_SAMPLER_COMPRESSED_FORMAT_ETC
      • EXT_SAMPLER_COMPRESSED_FORMAT_EAC
    • Fix various bugs

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

v0.8.0

21 Mar 21:00

Choose a tag to compare

Changes in this release

  • Update to latest ANARI SDK v0.9.0
  • RTX device improvements:
    • Added new faceVarying attribute extension for triangle geometry (VISRTX_TRIANGLE_FACE_VARYING_ATTRIBUTES)
    • Added support for uniform geometry attributes for all geometry subtypes (VISRTX_UNIFORM_ATTRIBUTES)
    • Added support for KHR_FRAME_COMPLETION_CALLBACK
    • Added support depth of field parameters on perspective cameras
    • Added progressive shadow/AO attenuation for objects with transparent
    • Added basic support for metallic and roughness parameters on the physicallyBased material
    • Removed dependency on bin2c for embedding OptiX PTX
    • Added experimental support for triangle back face culling as a renderer and/or geometry parameter
    • Fixed incorrect parameter name used for the spatial field on transferFunction1D volumes (field -> value)
    • Fixed crash when OptiX fails to initialize successfully
  • GL device improvements:
    • Fixed bugs when building + running on Windows
    • Fixed bug where back face culling potentially caused nothing to be drawn
  • Allow older versions of CMake (new minimum is 3.17)

Full Changelog: v0.7.1...v0.8.0

v0.7.1

30 Nov 00:35

Choose a tag to compare

Changes in this release

  • Use CMAKE_CUDA_ARCHITECTURES if set explicitly
  • Fix assert() incorrectly triggering in debug builds
  • Workaround issue embedding PTX in some cases

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

v0.7.0

27 Nov 17:04

Choose a tag to compare

Changes in this release

  • Added RTX device support for additional extensions:
    • KHR_FRAME_CHANNEL_PRIMITIVE_ID
    • KHR_FRAME_CHANNEL_OBJECT_ID
    • KHR_FRAME_CHANNEL_INSTANCE_ID
    • KHR_DEVICE_SYNCHRONIZATION
    • KHR_FRAME_ACCUMULATION (already present, but extension query was missing)
  • RTX device rendering/ANARI correctness fixes:
    • Fixed incorrect use of in/out sampler transforms
    • Fixed incorrect sphere shadows when instanced
    • Updated missing/incorrect parameters
    • Improved cylinder/cone intersectors
    • Fixed incorrect sampling position for structuredRegular fields
    • Fixed crash when no GPU is available to be used during initialization
  • RTX device runtime robustness fixes:
    • Fixed crash in RTX device under certain conditions when ANARIGroup contents were changed
    • Multi-threaded OptiX module creation on Linux to speed up device initialization
    • Use new helium array implementation from ANARI-SDK in RTX device
  • GL device improvements:
    • Updated queries to match latest SDK JSONs
    • Compile fixes for Windows
    • Add support for linear depth per-ANARI specification
    • Better GLES compatibility
  • CMake fixes:
    • Invoke visrtxCompileShaders after installation to ensure the right version is precompiled
    • Misc robustness improvements
  • Various minor viewer improvements

Accepted Pull Requests

New Contributors

Full Changelog: v0.6.1...v0.7.0

v0.6.1

25 Aug 18:14

Choose a tag to compare

Changes in this release:

  • Windows compatibility fixes for visgl
  • Fix visrtx crash when releasing the device without it being initialized
  • Relax ANARI-SDK version EXACT requirement