Releases: RenderKit/openvkl
Releases · RenderKit/openvkl
Open VKL v2.0.1
- Removed ISPC runtime dependency and level zero loader requirement
- Add DEPENDENTLOADFLAG linker parameter for Windows binaries, restricting DLL loading behavior
- Superbuild updates to latest versions of dependencies
Open VKL v2.0.0
- This Open VKL release adds support for Intel® Arc™ GPUs, Intel® Data Center
GPU Flex Series and Intel® Data Center GPU Max Series through SYCL.- The SYCL support of Open VKL is in beta phase. Current functionality,
quality, and GPU performance may not reflect that of the final product. - Open VKL CPU support in this release remains at Gold level,
incorporating the same quality and performance as previous releases.
- The SYCL support of Open VKL is in beta phase. Current functionality,
- API changes:
- Handle types are now passed by pointer in the following APIs:
vklComputeSample*()vklComputeGradient*()vklGet*IteratorSize*()vklInit*Iterator*()vklIterate*()
vklLoadModule()has been removed; compile-time linkage to an Open VKL
device implementation (cpuorgpu) is now required- Added
vklInit()API, which must be called to initialize the library VKL_FILTER_[TRILINEAR,TRICUBIC]are renamed to
VKL_FILTER_[LINEAR,CUBIC]VKLAMRMethodenum is nowuint32_tstructuredSphericalvolumes: thegridSpacingdefault now results in
the volume occupying a full sphere
- Handle types are now passed by pointer in the following APIs:
- Added new examples demonstrating GPU usage:
vklExamplesGPUand
vklTutorialGPU - Superbuild updates to latest versions of dependencies
Open VKL v1.3.2
- Move to and require latest versions of RenderKit dependencies: Embree v4.0.0 and rkcommon v1.11.0
- ARM support: expose ISPC neon-i32x8 target via OPENVKL_ISA_NEON2X CMake option
- Superbuild updates to latest versions of dependencies
Open VKL v1.3.1
- Superbuild updates to latest versions of dependencies
- Note that the update to zlib v1.2.13 remedies CVE-2022-37434
Open VKL v1.3.0
- Added AVX512 8-wide CPU device mode, enabled via the
OPENVKL_ISA_AVX512SKX_8_WIDECMake option - VDB volumes: added support for packed / contiguous data layouts for temporally constant volumes, which can provide improved performance (
nodesPackedDense,nodesPackedTileparameters) - VDB utility library: added
repackNodesflag to toggle usage of packed data layouts - Particle volumes: general memory efficiency and performance improvements
- Superbuild updates to latest versions of dependencies
- Minimum ISPC version is now v1.18.0
Open VKL v1.2.0
- Added
vklSetParam()API function which can set parameters of any supported type - Structured regular volumes:
- Added support for cell-centered data via the
cellCenteredparameter; vertex-centered remains the default - Added support for more general transformations via the
indexToObjectparameter - Added
indexOriginparameter which applies an index-space vec3i translation
- Added support for cell-centered data via the
- VDB volumes:
- Added
indexClippingBoundsparameter, which can restrict the active voxel bounding box - The
indexToObjectparameter can now be provided as aVKL_AFFINE3F - Corrected bounding box computations in
InnerNodeobserver
- Added
- Particle volumes:
- Now ignoring particles with zero radius
- VDB utility library: added
commitflag (default true) to volume creation methods, allowing apps to set additional parameters before first commit - Examples:
- Added new set of minimal examples, which step through creation of basic volume and isosurface renderers
- Exposing
intervalResolutionHintparameter invklExamplesapplication
- Superbuild updates to latest versions of dependencies
Open VKL v1.1.0
- vklExamples improvements: asynchronous rendering, multiple viewports, docking, and more
- Fixed bug in
openvkl_utility_vdbwhich could lead to crashes when creating VDB volumes with temporally constant tiles - Superbuild updates to latest versions of dependencies
- Minimum rkcommon version is now 1.8.0
Open VKL v1.0.1
- Fixed issue in
structuredRegularandvdbinterval iterators that could lead to erroneous initial intervals for certain ray inputs - Fixed handling of
intervalResolutionHintinterval iterator context parameter foramr,particle, andunstructuredvolumes with small numbers of cells / primitives
Open VKL v1.0.0
- The version 1.0 release marks long term API stability (until v2.0)
- Open VKL can now be built for ARM CPUs that support Neon
- Iterator API updates:
- Introducing interval and hit iterator contexts, which hold iterator-specific configuration (eliminates value selector objects)
- Interval and hit iteration is now supported on any volume attribute
- Interval iterators now include a
timeparameter - Interval iterators now support the
intervalResolutionHintparameter, replacingmaxIteratorDepthandelementaryCellIteration
- Supporting configurable background values; default is now
VKL_BACKGROUND_UNDEFINED(NaN) for all volume types vklGetValueRange()now supports all volume attributes- Added ISPC-side API bindings for
vklGetNumAttributes()andvklGetValueRange() - Structured regular volumes:
- Added support for tricubic filtering
- More accurate gradient computations respecting filter mode
- Hit iteration robustness improvements
- VDB volumes:
- Interval and hit iteration robustness improvements
- Corrected interval iterator
nominalDeltaTcomputation for non-normalized ray directions and non-uniform object-space grid spacings - Fixed bug which could cause incorrect value range computations for temporally varying volumes
- vklExamples additions demonstrating:
- Multi-attribute interval / hit iteration
- Configurable background values
- Temporally varying volumes
- Superbuild updates to latest versions of dependencies
- Now requiring minimum versions:
- Embree 3.13.1
- rkcommon 1.7.0
- ISPC 1.16.0
Open VKL v0.13.0
- Driver (now device) API changes:
- Renamed
VKLDrivertoVKLDeviceand updated associated device setup APIs - Use of multiple concurrent devices is now supported; therefore
vklNewVolume()andvklNewData()now require a device handle - Renamed the
ispc_devicemodule andispcdevice tocpu_deviceandcpu, respectively - The
OPENVKL_CPU_DEVICE_DEFAULT_WIDTHenvironment variable can now be used to change thecpudevice's default SIMD width at run time
- Renamed
- Added new
VKLTemporalFormatenum used for temporally varying volume parameterization - VDB volumes:
- Support for temporally structured and temporally unstructured (TUV) attribute data, which can be used for motion blurred rendering
- Supporting tricubic filtering via
VKL_FILTER_TRICUBICfilter type - Added support for half precision float-point (FP16) attribute data via
VKL_HALFdata type - Added a new
InnerNodeobserver and associated utility functions which allows applications to introspect inner nodes of the internal tree structure, including bounding boxes and value ranges - Renamed
VKL_FORMAT_CONSTANT_ZYXtoVKL_FORMAT_DENSE_ZYX
- Structured regular and spherical volumes:
- Added support for half precision float-point (FP16) attribute data via
VKL_HALFdata type
- Added support for half precision float-point (FP16) attribute data via
- Unstructured volumes:
- Added support for elementary cell iteration via the
elementaryCellIterationparameter - Robustness improvements for hit iteration
- Added support for elementary cell iteration via the
- AMR volumes:
- Improved interval iterator implementation, resolving issues with returned interval
nominalDeltaTvalues - Interval iterators now support
maxIteratorDepthparameter
- Improved interval iterator implementation, resolving issues with returned interval
- Interval and hit iteration performance improvements when multiple values ranges / values are selected
- Added new temporal compression utilities which applications can use for processing temporally unstructured attribute data
- vklExamples additions demonstrating:
- Motion blurred rendering on temporally structured and temporally unstructured
vdbvolumes - Tricubic filtering on
vdbvolumes - Half-precision floating-point (FP16) support for
structuredRegular,structuredSpherical, andvdbvolumes - Elementary cell interval iteration on
unstructuredvolumes - Use of the
InnerNodeobserver onvdbvolumes
- Motion blurred rendering on temporally structured and temporally unstructured
- Superbuild updates to:
- Embree 3.13.0
- rkcommon 1.6.1
- Minimum rkcommon version is now 1.6.1