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 (cpu
orgpu
) 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]
VKLAMRMethod
enum is nowuint32_t
structuredSpherical
volumes: thegridSpacing
default 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:
vklExamplesGPU
and
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_WIDE
CMake option - VDB volumes: added support for packed / contiguous data layouts for temporally constant volumes, which can provide improved performance (
nodesPackedDense
,nodesPackedTile
parameters) - VDB utility library: added
repackNodes
flag 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
cellCentered
parameter; vertex-centered remains the default - Added support for more general transformations via the
indexToObject
parameter - Added
indexOrigin
parameter which applies an index-space vec3i translation
- Added support for cell-centered data via the
- VDB volumes:
- Added
indexClippingBounds
parameter, which can restrict the active voxel bounding box - The
indexToObject
parameter can now be provided as aVKL_AFFINE3F
- Corrected bounding box computations in
InnerNode
observer
- Added
- Particle volumes:
- Now ignoring particles with zero radius
- VDB utility library: added
commit
flag (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
intervalResolutionHint
parameter invklExamples
application
- 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_vdb
which 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
structuredRegular
andvdb
interval iterators that could lead to erroneous initial intervals for certain ray inputs - Fixed handling of
intervalResolutionHint
interval iterator context parameter foramr
,particle
, andunstructured
volumes 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
time
parameter - Interval iterators now support the
intervalResolutionHint
parameter, replacingmaxIteratorDepth
andelementaryCellIteration
- 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
nominalDeltaT
computation 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
VKLDriver
toVKLDevice
and updated associated device setup APIs - Use of multiple concurrent devices is now supported; therefore
vklNewVolume()
andvklNewData()
now require a device handle - Renamed the
ispc_device
module andispc
device tocpu_device
andcpu
, respectively - The
OPENVKL_CPU_DEVICE_DEFAULT_WIDTH
environment variable can now be used to change thecpu
device's default SIMD width at run time
- Renamed
- Added new
VKLTemporalFormat
enum 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_TRICUBIC
filter type - Added support for half precision float-point (FP16) attribute data via
VKL_HALF
data type - Added a new
InnerNode
observer 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_ZYX
toVKL_FORMAT_DENSE_ZYX
- Structured regular and spherical volumes:
- Added support for half precision float-point (FP16) attribute data via
VKL_HALF
data type
- Added support for half precision float-point (FP16) attribute data via
- Unstructured volumes:
- Added support for elementary cell iteration via the
elementaryCellIteration
parameter - Robustness improvements for hit iteration
- Added support for elementary cell iteration via the
- AMR volumes:
- Improved interval iterator implementation, resolving issues with returned interval
nominalDeltaT
values - Interval iterators now support
maxIteratorDepth
parameter
- 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
vdb
volumes - Tricubic filtering on
vdb
volumes - Half-precision floating-point (FP16) support for
structuredRegular
,structuredSpherical
, andvdb
volumes - Elementary cell interval iteration on
unstructured
volumes - Use of the
InnerNode
observer onvdb
volumes
- 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