The Open, Scalable, and Portable Ray Tracing Engine
Intel OSPRay is an open source, scalable, and portable ray tracing engine for high-performance, high-fidelity visualization on Intel Architecture CPUs. OSPRay is part of the Intel oneAPI Rendering Toolkit and is released under the permissive Apache 2.0 license.
The purpose of OSPRay is to provide an open, powerful, and easy-to-use rendering library that allows one to easily build applications that use ray tracing based rendering for interactive applications (including both surface- and volume-based visualizations). OSPRay is completely CPU-based, and runs on anything from laptops, to workstations, to compute nodes in HPC systems.
OSPRay internally builds on top of Intel Embree and ISPC (Intel SPMD Program Compiler), and fully exploits modern instruction sets like Intel SSE4, AVX, AVX2, and AVX-512 to achieve high rendering performance, thus a CPU with support for at least SSE4.1 is required to run OSPRay.
OSPRay Support and Contact
OSPRay is under active development, and though we do our best to guarantee stable release versions a certain number of bugs, as-yet-missing features, inconsistencies, or any other issues are still possible. Should you find any such issues please report them immediately via OSPRay’s GitHub Issue Tracker (or, if you should happen to have a fix for it,you can also send us a pull request); for missing features please contact us via email at firstname.lastname@example.org.
To receive release announcements simply “Watch” the OSPRay repository on GitHub.
Changes in v2.5.0:
- Add native support for cones or cylinders with curves geometry of type
OSP_DISJOINT, requiring minimum version 3.12.0 of Embree
- Replaced OSPRay’s internal implementation of round linear curves by Embree’s native implementation. Internal surfaces at joints are now correctly removed, leading to higher quality renderings with transparency, at the cost of intersection performance
- SciVis renderer improvements:
- Colored transparency, colored shadows
- Light sources are visible including HDRI Light environment map
- The MPI module is now distributed as part of OSPRay in the modules directory
- The socket-based communication layer has been removed
intensityQuantityparameter to light sources to control the interpretation and convertion of the
intensityinto a radiative quantity
- OSPRay now requires minimum Open VKL v0.12.0 to bring the following improvements:
- Better default sampling rate for scaled volumes, improving performance
- Higher robustness for axis-aligned rays
- Removed limit on the number of volumes (both overlapped and separate) that a ray can intersect while rendering. Now it is limited by available memory only.
- Move to OIDN v1.3.0 to bring the following improvements:
- Improved denoising quality (sharpness of fine details, fewer noisy artifacts)
- Slightly improved performance and lower memory consumption
- Both geometric and volumetric models can now have their child geometry/volume objects rebound using an object parameter
- Fix light leaking artifacts at poles of HDRI (and Sun-Sky) light
- Add sRGB conversion to
ospExamplessuch that the color of the widget for
- Dropping support for MSVC14, new minimum compiler on Windows is MSVC15 (Visual Studio 2017)
Changes in v2.4.0:
- The pathtracer optionally allows for alpha blending even if the background is seen through refractive objects like glass, by enabling
- OSPRay now requires minimum Open VKL v0.11.0 to bring the following improvements:
- Improved rendering performance of VDB volumes
- Added support for configurable iterator depth via the
maxIteratorDepthparameters for unstructured and particle volumes, improved performance
- Added support for filter modes for structured volumes (regular and spherical)
- Expose parameter
horizonExtensionof Sun-sky light, which extends the sky dome by stretching the horizon over the lower hemisphere
- Optimize handling of geometry lights by the pathtracer
- The optional
denoiserimage operation now respects frame cancellation, requiring Intel® Open Image Denoise with minimum version 1.2.3
- Fixed normals of (transformed) isosurfaces
- Robust calculation of normals of
- Clipping geometry is now working correctly with
- Using materials in a renderer with a mismatched
renderer_typeno longer causes crashes while rendering
- Significant improvements have been made to loading performance in the MPI Offload device. Applications which make large numbers of API calls or create many smaller geometries or volumes should see substantial load time improvements.
- MPI module compacts strided data arrays on the app rank before sending
For the complete history of changes have a look at the CHANGELOG.