Open Source

OSPRay is Open Sourced under the Apache 2.0 license.

OSPRay Overview

OSPRay is an open source, scalable, and portable ray tracing engine for high-performance, high-fidelity visualization on Intel® Architecture CPUs. OSPRay 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 Embree and ISPC (Intel® SPMD Program Compiler), and fully utilizes 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 ospray@googlegroups.com.

Many robustness fixes for both the mpi_offload and mpi_distributed devices through improvements to the mpi_common and mpi_maml infrastructure libraries

Major sample app cleanups

ospray_sg library is the new basis for building apps, which is a scenegraph implementation

Old (unused) libraries have been removed: miniSG, commandline, importer, loaders, and scripting

Some removed functionality (such as scripting) may be reintroduced in the new infrastructure later, though most features have remained and have been improved

Optional improved texture loading has been transitioned from ImageMagick to OpenImageIO

Many cleanups, bug fixes, and improvements to ospray_common and other support libraries

This will be the last release in which we support MSVC12 (Visual Studio 2013). Future releases will require VS2015 or newer

Changes in v1.3.1:

Improved robustness of OSPRay CMake find_package config

Fixed bugs related to CMake configuration when using the OSPRay SDK from an install

Fixed issue with Embree library when installing with OSPRAY_INSTALL_DEPENDENCIES enabled

Changes in v1.3.0:

New MPI distributed device to support MPI distributed applications using OSPRay collectively for “in-situ” rendering (currently in “alpha”)

Enabled via new mpi_distributed device type

Currently only supports raycast renderer, other renderers will be supported in the future

All API calls are expected to be exactly replicated (object instances and parameters) except scene data (geometries and volumes)

The original MPI device is now called the mpi_offload device to differentiate between the two implementations

Support of Intel® AVX-512 for next generation Intel® Xeon® processor (codename Skylake), thus new minimum ISPC version is 1.9.1

Thread affinity of OSPRay’s tasking system can now be controlled via either device parameter setAffinity, or commandline parameter osp:setaffinity, or environment variable OSPRAY_SET_AFFINITY

Changed behavior of the background color in the SciVis renderer: bgColor now includes alpha and is always blended (no backgroundEnabled anymore). To disable the background don’t set bgColor, or set it to transparent black (0, 0, 0, 0)

Geometries “spheres” and “cylinders” now support texture coordinates

The GLUT- and Qt-based demo viewer applications have been replaced by an example viewer with minimal dependencies

Building the sample applications now requires GCC 4.9 (previously 4.8) for features used in the C++ standard library; OSPRay itself can still be built with GCC 4.8

The new example viewer based on ospray::sg (called ospExampleViewerSg) is the single application we are consolidating to, ospExampleViewer will remain only as a deprecated viewer for compatibility with the old ospGlutViewer application