Intel® oneAPI Rendering Toolkit (Beta) Release Notes

By Noga Collins, Olesya Andriyanova

Published:08/23/2019   Last Updated:07/24/2020

Intel® oneAPI Rendering Toolkit contains a set of rendering and ray-tracing libraries that are designed to help you transform big amounts of raw data into rich, realistic visuals and are optimized for the continuum of visualization needs. This page includes the release notes and issues associated with the toolkit. For software and hardware requirements, please refer to System Requirements page.

Intel® oneAPI Rendering Toolkit includes the following components:

Version History

Date Version Major Change Summary
September 2020 2021.1-Beta09 No changes
July 2020 2021.1-Beta08 Beta08 update: component versions changed
June 2020 2021.1-Beta07 No changes
May 2020 2021.1-Beta06 Beta06 update
March 2020 2021.1-Beta05 Beta05 update
February 2020 2021.1-Beta04 Beta04 update

November 2019

2021.1-Beta Initial release

Where to Find the Release

Please refer to the Intel® oneAPI Rendering Toolkit page for more information on how to acquire the package.

Intel® oneAPI Rendering Toolkit Beta08

New in This Release

Intel® Embree 3.11.0

New Features
  • Implemented the min-width feature for curves and points, which allows for increasing radius in a distance dependent way, such that the curve or points thickness is n pixels wide.
  • Added small meshes directly to top-level build phase of two-level builder to reduce memory consumption.
  • Enabled fast two-level builder for user geometries when low-quality build is requested.
Changes to Existing Features
  • Round linear curves now automatically check for left and right connected segments if a flag buffer is empty. Left segments exist if the segment(id-1) + 1 == segment(id), similarly for the right segments.
  • Closed round linear curves closed at the start also.
Unsupported or Discontinued Features

No features were deprecated.

Intel® OSPRay 2.2.0

New Features
  • Added support for texture transformation in SciVis OBJ material.
  • Added transformations for volume textures. Volume texture look-ups are now with local object coordinates.
  • Added support stereo3d mode for a panoramic camera.
  • Added new camera stereoMode OSP_STEREO_TOP_BOTTOM with a left eye at top half of an image.
  • Added support for random light sampling to the pathtracer. The number of sampled light sources per path vertex is defined by the lightSamples parameter.
  • Added support for ring light by extending a spot with innerRadius.
  • Added support for particle and VDB volumes.
  • Added support for a user pointer from status and error callbacks.
  • Enabled C++ wrappers (ospray_cpp) to work with non-rkcommon math types
    • NOTE: C++ wrappers require you to update your application to enable these changes. C API wrappers do not require any changes.

  • Added Intel® Implicit SPMD Program Compiler (Intel® ISPC)-generated headers containing the exported functions for Intel OSPRay ISPC types and functions.
  • Added CarPaint flakeColor parameter. By default, it is set to the current Aluminium.
  • The pathtracer now also regards the renderer materialist when creating geometry lights.
Changes to Existing Features
  • Changed behavior: if only a texture is given, the default value of the corresponding parameter is not multiplied.
  • Imrpoved anti-aliasing using a set of different pixel filters (for example, box or Gaussian). The size of the pixel filter is defined by a filter type used.
  • Enabled passing NULL handles to ospDeviceRetain and ospDeviceRelease.
Unsupported or Discontinued Features

No features were deprecated.

Intel® Open Image Denoise 1.2.2

No new features were introduced.

Intel® Open Volume Kernel Library 0.10.0

New Features
  • Added new particle volume type supporting Gaussian radial basis functions.
  • Introduced VKLSampler objects allowing configuration of sampling and gradient behavior.
  • Added stream-wide sampling and gradient APIs.
  • Introduced a new way to allocate iterators, giving more freedom in choosing allocation schemes and reducing iterator size.
  • Added support for strided data arrays.
  • Added gradient implementations for amr and vdb volumes.
Changes to Existing Features
  • Improved hit iterator accuracy for amr, structuredSpherical, unstructured, and vdb volumes.
  • Improved performance for structuredRegular and structuredSpherical sampling for volumes in the 1-2 GB range by up to 4x.
  • Improved performance for structuredRegular interval iteration by up to 2x.
  • Improved commit speed for unstructured volumes.
  • Improved value range computation in vdb volumes.
  • Improved isosurface shading in vklExamples.
  • Improved parameter validation across all volume types.
  • Aligned VKLHit[4,8,16] and VKLInterval[4,8,16] structs.
  • Added hit epsilon to VKLHit[4,8,16].
  • Updated parameter names for vdb volumes.
  • Renamed VKLVdbLeafFormat to VKLFormat.
Unsupported or Discontinued Features

No features were deprecated.

Fixed Issues

Intel® Embree 3.11.0

  • Fixed subdivision tessellation level assignment for non-quad base primitives.

Intel® OSPRay 2.2.0

  • Fixed non-physical behavior of the spot and sphere light sources:

    • For area lights (when radius > 0), surfaces close to the light will be darker.

    • Spot now has an angular fall-off, such that a disk light is a proper lambertian area light, which leads to darker regions perpendicular to its direction (thus, barely visible with a typically small openingAngle).

  • Fixed a bug with ospGetCurrentDevice crashing if used before ospInit.

  • Fixed an issue with a Debug build producing different images.

Intel® Open Image Denoise 1.2.2

  • Fixed unhandled exception when canceling filter execution from a progress monitor callback function.

Intel® Open Volume Kernel Library 0.10.0

  • Fixed incorrect use of system-installed CMake* in superbuild while building dependencies.
  • Fixed various memory leaks.
  • Fixed crashes which could occur in VdbVolume::cleanup() and vklShutdown().

Workarounds/Troubleshoot

macOS*:

TBB dynamic runtime errors while using XCode*

In Beta08 users may see issues in an XCode* IDE developer environment when setting up dynamic runtime search paths. Apple* System Integrity Protection may purge these paths.

Windows* OS:

Pre-built sample application runtime errors

Base Toolkit users may have dynamic runtime issues when running Rendering Toolkit prebuilt applications. For an environment variable script mitigation, try these steps when using Rendering Toolkit:

  • Start a new shell environment.
  • Run the oneAPI <oneapi_install_directory>\setvars.bat script in your shell.
  • Next, run the rkcommon vars.bat file. Find it here: <oneapi_install_directory>\rkcommon\latest\env\vars.bat

The goal with the above mitigation is for pre-compiled applications to use TBB 2020 Update 3 runtime libraries included with the Rendering Toolkit. This dependency is as opposed to the TBB 2021 Beta branch included with the Base Toolkit.

Base toolkit users who wish to run Base Toolkit only programs:

  • Start a new shell environment.
  • Run the oneAPI setvars.bat script in your shell.

Intel® oneAPI Rendering Toolkit Beta07

Components unchanged

Intel® oneAPI Rendering Toolkit Beta06

New in This Release

Intel® Embree 3.9.0

New Features
  • Added support for round linear curve geometry. In this mode, a real geometric surface for curves with linear basis is rendered using capped cones with spherical filling between the curve segments.
  • Added rtcGetSceneDevice API function that returns the device a scene was created in.

Changes to Existing Features

  • Improved round curve rendering performance by up to 1.8x.
  • RelWithDebInfo mode no longer enables assertions.

Unsupported or Discontinued Features

No features were deprecated.

Intel® OSPRay 2.1.0

New Features
  • Added new clipping geometries feature that allows clipping any scene (geometry and volumes). All Intel OSPRay geometry types can be used as a clipping geometry:
    • Inverted clipping is supported with the new invertNormals parameter of GeometricMode.l
    • Currently, there can be up to 64 nested clipping geometries only.
    • When clipping with curves geometry (with any basis except linear), rendering artifacts may appear.
  • Added new plane geometry defined through a plane equation and optional bounding box.
  • Added sun-sky light based on physical model of Hošek-Wilkie.
  • Implemented support for photometric lights (for example, IES and EULUMDAT)
  • Added new ospGetTaskDuration API call to query execution time of asynchronous tasks.
  • Added support for 16-bit (unsigned short) textures.
  • Add static cpp::Device::current method as a C++ wrapper equivalent to ospGetCurrentDevice.
  • Generalized cpp::Device parameter setting to match other handle types.
Changes to Existing Features
  • Passing NULL to ospRelease is not reported as an error anymore.
  • Implemented a proper demonstration of ospGetVariance in ospTutorialAsync.
  • Object factory functions are now registered during module initialization through the appropriate registerType function

Unsupported or Discontinued Features

No features were deprecated.

Intel® Open Image Denoise 1.2.0

New Features
  • Added neural network training code.
  • Added support for specifying user-trained models at a run time.
  • Windows* OS only: Added OIDN_STATIC_RUNTIME CMake* option.
  • Added support for OpenImageIO to the sample applications (disabled by default)
Changes to Existing Features
  • Slightly improved denoising quality: reduced the number of ringing artifacts, reduced blurriness in some cases.
  • Improved denoising speed by about 7-38% (mostly depending on the compiler)

Unsupported or Discontinued Features

No features were deprecated.

Intel® Open Volume Kernel Library 0.9.0

New Features
  • Added support for VDB sparse structured volumes (vdb volume type).
  • Added vdb_util library to simplify instantiation of VDB volumes and support loading of .vdb files using OpenVDB*.
  • AddedVKLObserver and associated APIs, which volume types can use to pass information back to an application.
    • A LeafNodeAccess observer is provided for VDB volumes to support on-demand loading of leaf nodes.
  • Added VKL_LOG_NONE log level.
Changes to Existing Features
  • Structured regular volumes:
    • Up to 6x performance improvement for scalar iterator initialization
    • Up to 2x performance improvement for scalar iterator iteration
  • Volume type names are now camelCase (legacy snake_case type names are deprecated), impacting structuredRegular and structuredSpherical volumes.
  • Enabled flushDenormals driver mode by default.
  • Aligned public vkl_vvec3f[4,8,16] and vkl_vrange1f[4,8,16] types.

Unsupported or Discontinued Features

No features were deprecated.

Fixed Issues

Intel® Embree 3.9.0

  • Fixed the bug with sphere intersection filter invocation for back hit.
  • Fixed wrong assertion that triggered for invalid curves, which were filtered out.

Intel® OSPRay 2.1.0

  • Fixed computation of strides for OSPData.
  • Fixed transparency in the scivis renderer.
  • Added missing C++ wrapper for ospGetVariance.
  • Fixed handling of --osp:device-params to process and set all passed arguments first before committing the device to ensure it is committed in a valid state.
  • Fixed issue with Intel OSPRay ignoring tasking system thread count settings.
  • Fixed issue where Intel OSPRay always loaded the Intel® Implicit SPMD Program Compiler module, even if not required.

Intel® Open Volume Kernel Library 0.9.0

  • Fixed bug with an unstructured volume interval iterator, which caused errors with some combinations of lane masks.

Intel® oneAPI Rendering Toolkit Beta05

New in This Release

Intel® Embree 3.8.0

New Features
  • Added collision detection support for user geometries. For more information, see rtcCollide API function.
  • Implemented support for passing geomID to user geometry callbacks.

Changes to Existing Features

No changes to existing features.

Unsupported or Discontinued Features

No features were deprecated.

Intel® OSPRay 2.0.1

  • Bugfixes.

Fixed Issues

Intel® Embree 3.8.0

  • Fixed Intel® Advanced Vector Extensions 512 Vector Length (Intel® AVX-512 VL) codepath for rtcIntersect1.
  • For sphere geometries, fixed the intersection filter invocation: it is now invoked for a front and back hit.
  • Fixed bugs with quaternion motion blur.
  • Changed the RTCIntersectContext variable type to non-const in the Intel Embree API.
  • Aligned RTCHit to 16 bytes in the Intel Embree API.

Intel® OSPRay 2.0.1

  • Fixed bug with Intel Embree user-defined geometries not indexing correctly in a scene. The Intel OSPRay now requires Intel Embree 3.8.0 or higher.
  • Fixed crash happening when the path tracer encounters geometric models without a material.
  • Fixed crash when path tracer materials generated bidirectional scattering distribution functions (BSDF) with NULL value.
  • Fixed bug with ospGetBounds returning incorrect values.
  • Fixed missing symbol in a denoiser module.
  • Fixed missing symbol exports on Windows* OS for all Intel OSPRay built modules.
  • Fixed various inconsistent handlings of a frame buffer alpha between renderers.
  • The scivis renderer now respects the color opacity component on geometric models.
  • ospGetCurrentDevice now increments the ref count of the returned OSPDevice handle. Applications should release the handle when finished using ospDeviceRelease accordingly.

Intel® oneAPI Rendering Toolkit Beta04

New in This Release

Intel® Embree 3.7.0

New Features
  • Added quaternion motion blur for correct interpolation of rotational transformations.
  • Added next_hit tutorial to demonstrate robustly collecting all hits along a ray using multiple ray queries.

Changes to Existing Features

  • In the robust mode, the depth test consistently uses tnear <= t <= tfar now in order to robustly continue traversal at a previous hit point, which guarantees reaching all hits, including hits at the same place.
  • Implemented robust mode for curves. This has a small performance impact and fixes bounding problems with flat curves.
  • Improved quality of motion blur BVH by using linear bounds during binning.
  • You can call rtcCommitScene during rendering from multiple threads to lazily build geometry. With Threading Building Blocks (TBB), this results in a much lower overhead than with rtcJoinCommitScene.
  • You can attach geometries to multiple scenes at the same time, which simplifies mapping general scene graphs to API.

Unsupported or Discontinued Features

No features were deprecated.

Intel® Open Image Denoise 1.1.0

New Features

  • Added RTLightmap filter optimized for lightmaps.
  • Added hdrScale filter parameter for manually specifying the mapping of HDR color values to luminance levels

Changes to Existing Features

No changes to existing features.

Unsupported or Discontinued Features

No features were deprecated.

Intel® OpenSWR

The toolkit binaries for Intel® OpenSWR will be available in summer 2020. For now, only the open source code is available.

Intel® Open Volume Kernel Library (Intel® Open VKL) 0.8.0

New Features

  • Added support for structured volumes on spherical grids (structured_spherical volume type).
  • Added hdrScale filter parameter for manually specifying the mapping of HDR color values to luminance levels.
  • Added vklGetValueRange() API for querying volume value ranges.
  • Added new driver parameters, APIs, and environment variables allowing user control of log levels, log / error output redirection, number of threads, and other options.

Changes to Existing Features

  • Structured regular volumes:
    • Up to 8x performance improvement for scalar (single-wide) sampling.
    • Fixed hit iterator bug which could lead to isosurfacing artifacts.
    • Renamed voxelData parameter to data.
  • Unstructured volumes:
    • Up to 4x performance improvement for scalar (single-wide) sampling.
    • Improved interval iterator implementation for more efficient space skipping and tighter value bounds on returned intervals.
    • Implemented usage of Intel Embree for BVH builds for faster build times / volume commits.
    • Renamed vertex.value and cell.value parameters to vertex.data and cell.data, respectively.
  • AMR volumes:
    • Renamed block.cellWidth parameter to cellWidth.
    • Clarified API documentation.
  • vklIterateHit[4,8,16]() and vklIterateInterval[4,8,16]() calls now only populate hit / interval data for active lanes.
  • Changed VKLDataType enum values for better forward compatibility.
  • Intel® Implicit SPMD Program Compiler-side hit and interval iterator objects must now be declared varying.
  • Implemented more flexible ISA build configuration through OPENVKL_MAX_ISA and OPENVKL_ISA_* CMake build options.

Unsupported or Discontinued Features

No features were deprecated.

Intel® OSPRay 2.0.0

New Features

  • Implemented a new utility library, which adds functions that help migrate to a new API migration and reduce boilerplate code.
    • Use ospray_util.h to access these additional functions
    • All utility functions are implemented to the core API in ospray.h. They are compatible with any device back-end.
  • Added support for volumes in the pathtracer.
    • Several parameters are available for performance/quality trade-offs for both photo-realistic and scientific visualization use cases.
  • Added support for overlapping volumes to the pathtracer and scivis renderers.
  • Added new API call for querying the bounds of OSPWorld, OSPInstance, and OSPGroup objects.
  • Introduced new boxes geometry type.
  • Added new API to query version information at a runtime.
  • Added new Intel Embree curve type OSP_CATMULL_ROM for curves.
  • Replaced Triangle mesh and Quad mesh with the mesh geometry
  • Added a new ospExamples application, which consolidates previous interactive applications into one.
  • Added a new ospBenchmark application, which implements a runnable benchmark suite.

Changes to Existing Features

  • New major revision of Intel OSPRay brings API major improvements compared to 1.x version. See the Intel OSPRay 2.0.0 Porting Guide for a deeper description of migrating from version 1.x to the version 2.0.0 and the latest API documentation.
    • ospRenderFrame takes all participating objects as function parameters instead of setting some as renderer parameters.
    • ospRenderFrame is asynchronous, where the task is managed through a returned OSPFuture handle.
    • The hierarchy of objects in a scene is more granular to help in scene construction flexibility and reduce potential object duplication.
    • Type-specific parameter setting functions are consolidated into a single ospSetParam API call.
    • C++ wrappers found in ospray_cpp.h automatically track handle lifetimes. Applications that use them do not need to use ospRelease or the new ospRetain with them. See the ospTutorial.cpp application for a usage example.
    • Unused parameters are reported as status messages when logLevel is at least warning. The log level can be set by enabling Intel OSPRay debug on initialization.
  • Log levels are controlled with enums and named strings where applicable.
    • A new flag is introduced, which turns all OSP_LOG_WARNING messages into errors submitted to the error callback instead of the message callback.
    • Any unused parameters that an object ignores now emit a warning message.
  • Lights exist as a parameter to the world instead of the renderer.
  • Removed slices geometry. You can use any geometry with volume texture for slicing.
  • Expanded information returned by ospPick.
  • Curves now supports both per-vertex varying radii as in vec4f[] vertex.position_radius and constant radius for the geometry with float radius. They use OSP_ROUND type and OSP_LINEAR basis by default to create the connected segments of constant radius. For per-vertex varying radii curves, they use Intel Embree curves.
  • NULL is not a special handler to signify an error. Applications need to use the various error reporting methods to check if the creation of objects failed.
  • Changed module init methods to facilitate version checking: extern "C" OSPError ospray_module_init_<name>(int16_t versionMajor, int16_t versionMinor, int16_t versionPatch).
  • Changed the computation of variance for adaptive accumulation to be independent of TILE_SIZE. If you use a TILE_SIZE other than default 64, you need yo adapt the varianceThreshold.
  • OSPGeometricModel now has the option to index a renderer-global material list that lives on the renderer. This allows scenes to avoid renderer-specific materials.
  • All object type names and parameters now follow the camel-case convention.

Unsupported or Discontinued Features

  • Removed cylinders and streamlines geometry. Use curves instead.

Fixed Issues

Intel® Embree 3.7.0

  • Fixed wrong bounding calculations when a motion blurred instance instantiated a motion blurred scene.
  • Fixed depth test in robust mode to be precise at tnear and tfar.
  • Fixed issue with motion blur builder where number of time segments for SAH heuristic were counted wrong due to some numerical issues.
  • Fixed an accuracy issue with rendering very short fat curves.
  • Fixed a bug in the BVH builder for Grid geometries.

Intel® OSPRay 2.0.0

  • Simplified the SciVis renderer:
    • Fixed AO lighting and simple ray marched volume rendering for ease of use and performance.
  • The map_backplate texture is supported in all renderers and does not hide lights in infinity anymore. You should explicitly make lights invisible if required.

Known Issues

  • On Linux OS: When running Intel OpenVKL or Intel OSPRay, you might get errors about shared libraries:
    • For Intel OpenVKL, you might get the following error related to TBB libraries:
      error while loading shared libraries: <tbb_install_dir>/env/../lib/intel64/gcc4.8/libtbb.so: file too short
    • For Intel OSPRay, you might get the following error related to shared libraries:
      error while loading shared libraries: libimf.so: cannot open shared object file: No such file or directory

    Workaround: After installing the Render Kit, make sure the runtime libraries are installed and visible to a program executed:

    1. Install Intel® oneAPI DPC++ Compiler from Intel® oneAPI Base Toolkit.
    2. Set up the environment for the compiler:
      source <basekit_install_dir>/compiler/latest/env/vars.sh
      
    3. Set up the environment for the RenderKit components, one-by-one as shown below, in any order. Do not setup environment for TBB. Do not use the global setvars.sh script.
      source <renderkit_install_dir>/openvkl/latest/env/vars.sh
      source <renderkit_install_dir>/ospray/latest/env/vars.sh
      
  • Running any GPU code on a virtual machine is not supported at this time.

See the oneAPI Base Toolkit Release Notes for additional details and issues common to multiple toolkits.

Non-Intel Issues

  • Eclipse* 4.12: the code sample project created by an IDE plugin from a Makefile will not build. It is a known issue with Eclipse 4.12. Please use Eclipse 4.9, 4.10 or 4.11.

Intel® oneAPI Rendering Toolkit Beta - Initial Release

New in This Release

This is the first release of the Intel® oneAPI Rendering Toolkit. This section describes features of the component versions included in the first release of the toolkit and will be updated for future versions, which might have new features.

Intel® Embree 3.6.1

New Features
  • Restored binary compatibility between Intel Embree 3.6 and 3.5 when a single-level instancing is used.

Changes to Existing Features

No changes to existing features.

Unsupported or Discontinued Features

  • Removed point query alignment in Intel® Implicit SPMD Program Compiler (Intel® ISPC) header.

Intel® Open Image Denoise 1.0.0

New Features

  • Added the maxMemoryMB filter parameter for limiting maximum memory consumption regardless of image resolution, potentially at the cost of lower denoising speed. This is internally implemented by denoising an image in tiles.
  • Added the alignment and overlap filter parameters that can be queried for manual tiled denoising.
  • Added the verbose device parameter for setting the verbosity of the console output. By default, all console output is disabled.

Changes to Existing Features

  • Improved denoising quality:
    • Preserve more details.
    • Less artifacts (for example, noisy spots, color bleeding with albedo/normal).
  • Significantly reduced memory consumption (but slightly decreased performance) for high resolution images (> 2K): by default, it is limited to about 6 GB.

Unsupported or Discontinued Features

No features were deprecated.

Intel® OpenSWR

The toolkit binaries for Intel® OpenSWR will be available in summer 2020. For now, only the open source code is available.

Intel® Open Volume Kernel Library (Intel® Open VKL) 0.7.0

  • Initial release with support for structured, unstructured, and AMR volumes.

Intel® OSPRay 1.8.5

  • Intel® OSPRay 1.8.5 update includes only bug fixes.

Fixed Issues

Intel® Embree 3.6.1

  • Fixed bug in subgrid intersector.

Intel® Open Image Denoise 1.0.0

  • Fixed crash for zero-sized images.

Intel® OSPRay 1.8.5

  • Fixed float precision cornercase (NaNs) in the sphere light sampling.
  • Fixed CMake* bug that assumed .git was a directory, which is not true when using Intel OSPRay as a Git* submodule.
  • Fixed a CMake warning.
  • Fixed DLL_EXPORT issue with ospray_testing helper library on Windows* OS.

Known Issues

  • Running any GPU code on a virtual machine is not supported at this time.

See the oneAPI Base Toolkit Release Notes for additional details and issues common to multiple toolkits.

Non-Intel Issues

  • Eclipse* 4.12: the code sample project created by an IDE plugin from a Makefile will not build. It is a known issue with Eclipse 4.12. Please use Eclipse 4.9, 4.10 or 4.11.

Notices and Disclaimers

Intel technologies may require enabled hardware, software or service activation.

No product or component can be absolutely secure.

Your costs and results may vary.

© Intel Corporation. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Other names and brands may be claimed as the property of others.

No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.

The products described may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.

Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804