The Open, Scalable, and Portable Ray Tracing Engine
OSPRay Overview
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 Intel ISPC (Implicit SPMD Program Compiler), and fully exploits modern instruction sets like Intel SSE4, AVX, AVX2, AVX-512 and NEON to achieve high rendering performance, thus a CPU with support for at least SSE4.1 is required to run OSPRay on x86_64 architectures. A CPU with support for NEON is required to run OSPRay on ARM64 architectures.
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 ospray@googlegroups.com.
To receive release announcements simply “Watch” the OSPRay repository on GitHub.
Changes in v2.9.0:
- Add support for multi-segment deformation motion blur for
mesh
geometry - OSPRay now requires minimum Open VKL v1.2.0 to bring the following improvements:
- Structured regular volumes support for cell-centered data via the
cellCentered
parameter (vertex-centered remains the default) - Particle volumes ignore particles with zero radius
- Structured regular volumes support for cell-centered data via the
- Add support for dynamic load balancing in MPI Offload device
- Support for photometric lights (e.g., IES or EULUMDAT) also for
sphere
andquad
lights. When settingintensityDistribution
, other values forintensityQuantity
thanOSP_INTENSITY_QUANTITY_SCALE
are deprecated - Changed CMake variables for enabling app categories:
OSPRAY_ENABLE_APPS_BENCHMARK
replacesOSPRAY_APPS_BENCHMARK
OSPRAY_ENABLE_APPS_EXAMPLES
replacesOSPRAY_APPS_EXAMPLES
OSPRAY_ENABLE_APPS_TUTORIALS
replacesOSPRAY_APPS_TUTORIALS
OSPRAY_ENABLE_APPS_TESTING
replacesOSPRAY_APPS_TESTING
- Improve sampling of quad lights in the pathtracer (solid angle instead of area)
- Instances can now have the group object rebound via a parameter
- Fix leaking framebuffers in the MPI Offload device
- Resolve possible race condition in assigning IDs to distributed objects in the MPI device
- Move ISPC module to
modules/
folder and renamed the module tocpu
- Minimum version of rkcommon is 1.9.0, which brings the following improvements:
- Add support for Intel oneAPI DPCPP compiler
- Fix memory leak
Changes in v2.8.0:
- Lights can be now part of
OSPGroup
and thus instanced like geometries and volumes and thus lights also support motion blur (with the path tracer) - Add cylinder light (with solid area sampling)
- Add support for rolling shutter of cameras
- Add support for quaternion motion blur for instance and camera to allow for smoothly interpolated rotations
- Fix illumination from emissive quad meshes
For the complete history of changes have a look at the CHANGELOG.