- Beta support for Intel Xe GPUs (Intel Arc™ GPUs a Intel Data Center GPU Flex and Max Series), exploiting ray tracing hardware support. Implementation is based on the SYCL cross-platform programming language implemented by Intel oneAPI Data Parallel C++ (DPC++).
Note that the following features are not implemented yet or are not working correctly on the newgpudevice:- Multiple volumes in the scene
- Clipping
- Motion blur
- Subdivision surfaces
- Progress reporting via
ospGetProgressor canceling the frame viaospCancel - Picking via
ospPick - Adaptive accumulation via
OSP_FB_VARIANCEandvarianceThreshold - Framebuffer channels
OSP_FB_ID_*(id buffers) - Experimental support for shared device-only data, works only for
structuredRegularvolume - Further known issues
- Some delay on start-up or when changing the scene, because kernel code is JIT compiled and specialized. JIT compilation can be cached by setting environment variable
SYCL_CACHE_PERSISTENT=1, then consecutive starts or rendering the same scene configuration is without delay - For some combination of compiler, GPU driver and scene the rendered images might show artifacts (e.g., vertical lines or small blocks)
- Multidevice does not support
OSPImageOperations for denoising or tone mapping
- Some delay on start-up or when changing the scene, because kernel code is JIT compiled and specialized. JIT compilation can be cached by setting environment variable
- Add implicit indexing for
meshgeometry - Add support for transferring ownership of temporary buffers:
ospNewSharedDataaccepts an optional deleter callback - Optimizations for MPI module, supported by new integrated performance tracing framework
- Optimize
scivisgradient shading - Main thread does not set FTZ/DAZ anymore for denormals handling
- Compute intersection epsilon for Mesh to avoid rendering artifacts due to self-intersection
- Fix energy conservation of Pricipled material under certain parameter combinations
- Fix
denoiserto not wipe the alpha channel - Fix crash in HDRI light
- Fix link order for Debug build on Windows
- The new minimum versions of dependencies:
- Embree v4.3.0
- Open VKL v2.0.0
- Open Image Denoise v2.1.0
- ISPC v1.21.1
- rkcommon v1.12.0
- Breaking API changes
- Renamed
OSP_TEXTURE_FILTER_BILINEARtoOSP_TEXTURE_FILTER_LINEARandOSP_VOLUME_FILTER_TRI[LINEAR|CUBIC]toOSP_VOLUME_FILTER_[LINEAR|CUBIC] - Most enums now use storage type
uint32 gridSpacingof spherical regular volume defaults to full sphere- Remove deprecated parameters and API calls
- error callback signatures without user pointer
- first argument of
ospNewMaterial - module name
ispc; usecpu volumetexture andisosurfacegeometry:volumetricModel; useOSPVolume volume- Transfer function
vec2f valueRange; usebox1f value hdriandsun-skylights:intensityQuantityOSP_INTENSITY_QUANTITY_RADIANCEspotlight withintensityDistribution:intensityQuantityother thanOSP_INTENSITY_QUANTITY_SCALE
- Renamed