Releases: NVIDIA/VisRTX
Releases · NVIDIA/VisRTX
v0.13.0
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)- See README for more details
- Much improved shading quality for the
defaultrenderer:- Improvements to bounces caused by both
physicallyBasedandmdlmaterials - Implemented basic importance sampling for HDRI lights to reduce noise
- Lights now follow an inverse-square falloff
- Support for new lights:
- Sphere (
pointlights with a radius) KHR_LIGHT_QUADKHR_LIGHT_RING
- Sphere (
- Support new
KHR_SAMPLER_IMAGE_CLAMPxD_TO_BORDERextension for additional image sampler wrap mode - Support the
visibleflag onANARISurfaceandANARIVolume
- Improvements to bounces caused by both
- Fixed issues blending with the background correctly
- Updates for building with CUDA 13+
- Various performance + bug fixes
- Add experimental support for neural geometry primitives (
- GL Device improvements:
- Fix
image3Dsampler not working correctly - Compilation fixes for newer compilers
- Fix
- 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
- Add Neural Graphics Primitive by @favreau in #128
- Added support for volumes in USD import by @favreau in #130
- Add transfer function import/export support by @favreau in #131
- Fix older platforms with neural disabled by @tarcila in #133
- Fix compilation with gcc-12 by @tarcila in #134
- Mdl physically based by @tarcila in #127
- CUDA physicallyBased material improvements by @jeffamstutz in #136
- HDRI environment importance sampling by @tarcila in #137
- Fix VTU import of cell-centric data by @szellmann in #139
- complete overhaul to TSD library structure by @jeffamstutz in #142
- Added screenshot implementation by @favreau in #143
- Improved shading, adding transmission and fake emission support by @tarcila in #144
- Update AMR field and FLASH importer to use refinementRatio, and data … by @szellmann in #145
- Add a new GLTF importer by @tarcila in #146
- Support anisotropy in TSD by @szellmann in #147
- TSD-ASSIMP: Fix clearcoat and sheer not being assign correctly by @tarcila in #149
- Gltf iridescence ior by @tarcila in #150
- Prevent crash when CUDA-OpenGL interopt is not available by @tarcila in #151
- Enables focus on right click so that right-click-drag works with prior left-click by @tarcila in #152
- Misc fixes by @tarcila in #153
- usd-export: Add support for transforms and materials by @tarcila in #156
- Misc enhancements by @tarcila in #158
- Add support for clampToBorder on ImageXD samplers by @tarcila in #159
- Add tonemap renderer parameter by @tarcila in #161
- Fix blending with background color by @tarcila in #160
- Added handling for empty blocks by @apaaris in #162
- reorganize rtx device folder structure by @jeffamstutz in #163
- MDL fixes by @tarcila in #164
- TSD: Add support for camera objects by @tarcila in #165
- TSD: Introduce CameraUpdateDelegate to track for database camera changes by @tarcila in #166
- Tsd animation and usd improvements by @tarcila in #167
- TSD: [USD] original prim paths on imported objects by @tarcila in #170
- Tsd importer improvements by @tarcila in #171
- Tsd usd improvements by @tarcila in #172
- fixed finding of EmbedPTXRun.cmake by @ingowald in #173
- Fix build with CUDA 13 by @tarcila in #174
- Save our NVDB loader from duplicating the dataset on load by @tarcila in #175
- Add VisRTX build to the CI by @tarcila in #169
- Fix mismatching importer dialog list by @tarcila in #177
- enable animation state I/O for animated values by @jeffamstutz in #179
- Update VisRTX build workflow to trigger on PR and push to next_release by @tarcila in #180
- Add Transform manipulators/Gizmos to TSD main viewport by @tarcila in #178
- Workaround outline not being rendered on double-click-to-select by @tarcila in #181
- Add support for importing SILO files by @jeffamstutz in #183
- Gizmo: Handle transform hierarchies by @tarcila in #182
- Add support for AOV (albedo, normal) visualization, misc enhancements by @tarcila in #184
New Contributors
Full Changelog: v0.12.0...v0.13.0
v0.12.0
Changes in this release
- Update to latest ANARI SDK
v0.14.0- Use new SDL3 based
anari_viewerinfrastructure for TSD - Use new core extensions which replace obsolete
VISRTX_specific versions where applicable
- Use new SDL3 based
- Added OptiX/driver version validation checks on RTX device initialization
- Various improvements to (experimental) MDL materials in RTX device
- Removed old
visrtxViewerapp (usetsdViewerinstead) - TSD improvements:
- Added built-in application state serialization (replaces/deprecates
conduitimport/export) - Removed obsolete applications (
tsdMaterialExplorerandtsdVolumeViewer), astsdViewercan 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
assimpimporter - 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
- Added built-in application state serialization (replaces/deprecates
Merged PRs
- Parse lights with assimp by @szellmann in #112
- Import sheen parameters by @szellmann in #113
- Misc CUDA and GLM related code cleanups by @tarcila in #115
- Misc changes by @tarcila in #118
- Compute MikkT tangent space for assimp models by @szellmann in #119
- Don't divide by zero by @szellmann in #120
- Adding USD data import by @apaaris in #121
- Instancing, extension above UsdGeomMesh by @jeffamstutz in #123
- Fix broken handling of actual grid dimension #117 by @tarcila in #124
- tsd: Link with USD using ${PXR_LIBRARIES} by @tarcila in #125
- Mdl support for ANARI samplers and more by @tarcila in #126
Full Changelog: v0.11.0...v0.12.0
v0.11.0
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_SPOTEXT_SAMPLER_COMPRESSED_IMAGE2DEXT_SAMPLER_COMPRESSED_FORMAT_BC123EXT_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_VERSIONCMake variable
- Versions 7.7-9.0 can be used via the
- Renamed CUDA interop extensions to more generic names (for use in other devices)
VISRTX_ARRAY_CUDA-->NV_ARRAY_CUDAVISRTX_CUDA_OUTPUT_BUFFERS-->NV_FRAME_BUFFERS_CUDA
- RTX device bug fixes:
- Fixed incorrect + incomplete impementation of
transferFunction1Dvolume parameters - Fixed various thread safety issues when rendering frames and querying world bounds simultaneously from different threads
- Fixed incorrect + incomplete impementation of
- Fix GL device incorrectly reading back
FLOAT32_VEC4frame buffer data on map - TSD improvements:
- New file importers (PDB
.entfiles, 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
- New file importers (PDB
Merged PRs
- Various build fixes for Windows by @kvankooten in #97
- Added SWC importer by @favreau in #98
- Add cool2warm color map by @szellmann in #99
- Compile fix by @szellmann in #101
- Mdl enhanced support by @tarcila in #102
- Add omnidirectional camera option to TSD viewport by @szellmann in #104
- Misc fixes by @tarcila in #106
- Add support for compressed textures to VisRTX and enable DDS loading in TSD by @tarcila in #107
- Added support for MHD volumes by @favreau in #108
- Added PDB importer for proteins (-pdb command line argument) by @favreau in #109
New Contributors
- @kvankooten made their first contribution in #97
- @favreau made their first contribution in #98
Full Changelog: v0.10.1...v0.11.0
v0.10.1
Changes in this release
- Fix GPU memory leaking array data in some cases
Full Changelog: v0.10.0...v0.10.1
v0.10.0
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 onANARIInstanceobjects, which overrides any found on relevant geometries below it in the scene hierarchyVISRTX_SPATIAL_FIELD_NANOVDB: nanovdb is now an available ANARISpatialField subtype- (optionally built)
VISRTX_MATERIAL_MDL: preliminary support for using MDL materials via themdlANARIMaterial 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
- Added support for
- Introduce new sample application (TSD) infrastructure for more complete/robust ANARI application testing
- Can be built alongside the devices (enabled with
VISRTX_BUILD_TSD=ONin 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()thetsd/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
- Can be built alongside the devices (enabled with
New Contributors
Full Changelog: v0.9.0...v0.10.0
v0.9.0
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
dptrenderer - Tweaked
ao+raycastrenderers to be more unique compared to thedefaultrenderer - Fix missing DoF in reported extensions
- Various minor performance improvements
- GL device improvements:
- Add experimental support for compressed textures:
EXT_SAMPLER_COMPRESSED_IMAGE2DEXT_SAMPLER_COMPRESSED_FORMAT_ATCEXT_SAMPLER_COMPRESSED_FORMAT_BC123EXT_SAMPLER_COMPRESSED_FORMAT_BC45EXT_SAMPLER_COMPRESSED_FORMAT_BC67EXT_SAMPLER_COMPRESSED_FORMAT_ETCEXT_SAMPLER_COMPRESSED_FORMAT_EAC
- Fix various bugs
- Add experimental support for compressed textures:
Full Changelog: v0.8.0...v0.9.0
v0.8.0
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
perspectivecameras - Added progressive shadow/AO attenuation for objects with transparent
- Added basic support for
metallicandroughnessparameters on thephysicallyBasedmaterial - Removed dependency on
bin2cfor 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
transferFunction1Dvolumes (field->value) - Fixed crash when OptiX fails to initialize successfully
- Added new faceVarying attribute extension for triangle geometry (
- 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
Changes in this release
- Use
CMAKE_CUDA_ARCHITECTURESif 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
Changes in this release
- Added RTX device support for additional extensions:
KHR_FRAME_CHANNEL_PRIMITIVE_IDKHR_FRAME_CHANNEL_OBJECT_IDKHR_FRAME_CHANNEL_INSTANCE_IDKHR_DEVICE_SYNCHRONIZATIONKHR_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
structuredRegularfields - 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
ANARIGroupcontents were changed - Multi-threaded OptiX module creation on Linux to speed up device initialization
- Use new
heliumarray implementation from ANARI-SDK in RTX device
- Fixed crash in RTX device under certain conditions when
- 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
visrtxCompileShadersafter installation to ensure the right version is precompiled - Misc robustness improvements
- Invoke
- Various minor viewer improvements
Accepted Pull Requests
- Normalize light dir by @aumuell in #57
- cmake: fix exporting with VISRTX_USE_SOVERSION by @mathstuf in #58
- Cmake fixes by @mathstuf in #59
- implement prim/obj/inst ID buffers in visrtx by @jeffamstutz in #65
- parallelize OptiX module creation by @jeffamstutz in #66
New Contributors
Full Changelog: v0.6.1...v0.7.0
v0.6.1
Changes in this release:
- Windows compatibility fixes for
visgl - Fix
visrtxcrash when releasing the device without it being initialized - Relax ANARI-SDK version
EXACTrequirement