|
1 | 1 | # Intel® Open Volume Kernel Library
|
2 | 2 |
|
3 |
| -This is release v1.2.0 of Intel® Open VKL. For changes and new features |
| 3 | +This is release v1.3.0 of Intel® Open VKL. For changes and new features |
4 | 4 | see the [changelog](CHANGELOG.md). Visit http://www.openvkl.org for more
|
5 | 5 | information.
|
6 | 6 |
|
@@ -33,6 +33,20 @@ example renderers to demonstrate how to best use the Open VKL API.
|
33 | 33 |
|
34 | 34 | ## Version History
|
35 | 35 |
|
| 36 | +### Open VKL 1.3.0 |
| 37 | + |
| 38 | + - Added AVX512 8-wide CPU device mode, enabled via the |
| 39 | + `OPENVKL_ISA_AVX512SKX_8_WIDE` CMake option |
| 40 | + - VDB volumes: added support for packed / contiguous data layouts for |
| 41 | + temporally constant volumes, which can provide improved performance |
| 42 | + (`nodesPackedDense`, `nodesPackedTile` parameters) |
| 43 | + - VDB utility library: added `repackNodes` flag to toggle usage of |
| 44 | + packed data layouts |
| 45 | + - Particle volumes: general memory efficiency and performance |
| 46 | + improvements |
| 47 | + - Superbuild updates to latest versions of dependencies |
| 48 | + - Minimum ISPC version is now v1.18.0 |
| 49 | + |
36 | 50 | ### Open VKL 1.2.0
|
37 | 51 |
|
38 | 52 | - Added `vklSetParam()` API function which can set parameters of any
|
@@ -550,7 +564,7 @@ variables described previously.
|
550 | 564 |
|
551 | 565 | ## Basic data types
|
552 | 566 |
|
553 |
| -Open VKL defines 3-component vectors of integer and vector types: |
| 567 | +Open VKL defines 3-component vectors of integer and float types: |
554 | 568 |
|
555 | 569 | ``` cpp
|
556 | 570 | typedef struct
|
@@ -600,8 +614,8 @@ typedef struct
|
600 | 614 |
|
601 | 615 | Objects in Open VKL are exposed to the APIs as handles with internal
|
602 | 616 | reference counting for lifetime determination. Objects are created with
|
603 |
| -particular type’s `vklNew...` API entry point. For example, `vklNewData` |
604 |
| -and `vklNewVolume`. |
| 617 | +each particular type’s `vklNew...` API entry point. For example, |
| 618 | +`vklNewData` and `vklNewVolume`. |
605 | 619 |
|
606 | 620 | In general, modifiable parameters to objects are modified using
|
607 | 621 | `vklSet...` functions based on the type of the parameter being set. The
|
@@ -775,7 +789,7 @@ called concurrently on the same object.
|
775 | 789 |
|
776 | 790 | Open VKL currently supports structured volumes on regular and spherical
|
777 | 791 | grids; unstructured volumes with tetrahedral, wedge, pyramid, and
|
778 |
| -hexaderal primitive types; adaptive mesh refinement (AMR) volumes; |
| 792 | +hexahedral primitive types; adaptive mesh refinement (AMR) volumes; |
779 | 793 | sparse VDB volumes; and particle volumes. Volumes are created with
|
780 | 794 | `vklNewVolume` with a device and appropriate type string:
|
781 | 795 |
|
@@ -1120,13 +1134,18 @@ VDB volumes are created by passing the type string `"vdb"` to
|
1120 | 1134 | | int\[\] | node.temporallyStructuredNumTimesteps | | For temporally structured variation, number of timesteps per voxel. Only valid if `temporalFormat` is `VKL_TEMPORAL_FORMAT_STRUCTURED`. |
|
1121 | 1135 | | VKLData\[\] | node.temporallyUnstructuredIndices | | For temporally unstructured variation, beginning per voxel. Supported data types for each node are `VKL_UINT` and `VKL_ULONG`. Only valid if `temporalFormat` is `VKL_TEMPORAL_FORMAT_UNSTRUCTURED`. |
|
1122 | 1136 | | VKLData\[\] | node.temporallyUnstructuredTimes | | For temporally unstructured variation, time values corresponding to values in `node.data`. For each node, the data must be of type `VKL_FLOAT`. Only valid if `temporalFormat` is `VKL_TEMPORAL_FORMAT_UNSTRUCTURED`. |
|
| 1137 | +| VKLData\[\] | nodesPackedDense | | Optionally provided instead of `node.data`, for each attribute a single array of all dense node data (`VKL_FORMAT_DENSE_ZYX` only) in a contiguous layout, provided in the same order as the corresponding `node.*` parameters. This packed layout may be more performant. Supported for temporally constant data only. | |
| 1138 | +| VKLData\[\] | nodesPackedTile | | Optionally provided instead of `node.data`, for each attribute a single array of all tile node data (`VKL_FORMAT_TILE` only) in a contiguous layout, provided in the same order as the corresponding `node.*` parameters. This packed layout may be more performant. Supported for temporally constant data only. | |
1123 | 1139 | | float\[\] | background | `VKL_BACKGROUND_UNDEFINED` | For each attribute, the value that is returned when sampling an undefined region outside the volume domain. |
|
1124 | 1140 | | box3i | indexClippingBounds | | Clips the volume to the specified index-space bounding box. This is useful for volumes with dimensions that are not even multiples of the leaf node dimensions, or .vdb files with restrictive active voxel bounding boxes. |
|
1125 | 1141 |
|
1126 | 1142 | Configuration parameters for VDB (`"vdb"`) volumes.
|
1127 | 1143 |
|
1128 | 1144 | The level, origin, format, and data parameters must have the same size,
|
1129 |
| -and there must be at least one valid node or `commit()` will fail. |
| 1145 | +and there must be at least one valid node or `commit()` will fail. The |
| 1146 | +`nodesPackedDense` and `nodesPackedTile` parameters may be provided |
| 1147 | +instead of `node.data`; this packed data layout may provide better |
| 1148 | +performance. |
1130 | 1149 |
|
1131 | 1150 | VDB volumes support temporally structured and temporally unstructured
|
1132 | 1151 | temporal variation. See section ‘Temporal Variation’ for more detail.
|
@@ -2476,7 +2495,7 @@ before you can build Open VKL you need the following prerequisites:
|
2476 | 2495 | examples, you should also have some version of OpenGL.
|
2477 | 2496 |
|
2478 | 2497 | - Additionally you require a copy of the [Intel® Implicit SPMD Program
|
2479 |
| - Compiler (Intel® ISPC)](http://ispc.github.io), version 1.16.0 or |
| 2498 | + Compiler (Intel® ISPC)](http://ispc.github.io), version 1.18.0 or |
2480 | 2499 | later. Please obtain a release of ISPC from the [ISPC downloads
|
2481 | 2500 | page](https://ispc.github.io/downloads.html).
|
2482 | 2501 |
|
|
0 commit comments