Releases: NVIDIA/VisRTX
Releases · NVIDIA/VisRTX
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 onANARIInstance
objects, 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 themdl
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
- 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=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()
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
dpt
renderer - Tweaked
ao
+raycast
renderers to be more unique compared to thedefault
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
- 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
perspective
cameras - Added progressive shadow/AO attenuation for objects with transparent
- Added basic support for
metallic
androughness
parameters on thephysicallyBased
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
- 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_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
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
- 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
visrtxCompileShaders
after 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
visrtx
crash when releasing the device without it being initialized - Relax ANARI-SDK version
EXACT
requirement
v0.6.0
Changes in this release:
- Update to latest ANARI SDK v0.7.0
- New OpenGL based implementation (
visgl
), built usingVISRTX_BUILD_GL_DEVICE=ON
- Added support for sampler in/out transforms
- Fixes for building with OptiX 7.7
- Many extensions synchronized with the v1.0 ANARI specification
- Implemented image backgrounds for all renderers
- Improved robustness for objects that are unknown by emitting better warnings
- Removed custom color map sampler extension in favor of using
image1D
samplers with transforms (can get equivalent results) - Denoising is now enabled as a renderer parameter instead of a frame parameter
v0.5.0
Changes in this release:
- Update to latest ANARI SDK v0.3.0
- Added support for
curve
geometry subtype - Added support
image1D
sampler subtype - Added support for
primitive.index
onsphere
geometry - Added support for missing array types for image samplers
- Added volume scattering in
dpt
renderer - Added tool (
visrtxCompileShaders
) for precompiling OptiX shaders offline - Improved robustness around object subtypes unknown to VisRTX
- Improved object leak warnings on device release
- Moved ambient lighting from being a light subtype into renderer parameters
- Fix incorrect handling of managed arrays of objects
- Fix performance bug with rays repeatedly not exiting volumes
v0.4.0
Changes in this release:
- Update to latest ANARI SDK v0.2.0
- All object info queries are now implemented
- Implement VISRTX_ARRAY1D_DYNAMIC_REGION extension for 1D arrays
- VisRTX now provides an installed header for custom VisRTX functionality
- See tutorial app as an example
- Fix incorrect warning about different sized arrays for indexed triangles
- Fix missing BLAS updates occuring in certain cases
- Memory offload optimizations for arrays that are about to go out of scope
- Improved texture loading for OBJ scenes in sample viewer app