You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
New major revision of OSPRay brings API breaking improvements over
v1.x. See doc/ospray2_porting_guide.md for a deeper description of
migrating from v1.x to v2.0 and doc/api.md for the latest API
documentation
ospRenderFrame now takes all participating objects as
function parameters instead of setting some as renderer params
ospRenderFrame is now asynchronous, where the task is managed
through a returned OSPFuture handle
The heirarchy of objets in a scene are now more granular to
aid in scene construction flexibility and reduce potential
object duplication
Type-specific parameter setting functions have been consolidated
into a single ospSetParam API call
C++ wrappers found in ospray_cpp.h now automatically track
handle lifetimes, therefore applications using them do not need
to use ospRelease (or the new ospRetain) with them: see
usage example in apps/tutorials/ospTutorial.cpp
Unused parameters are reported as status messages when logLevel is >= 1 (most easily set by enabling OSPRay debug on
initialization)
New utility library which adds functions to help with new API
migration and reduction of boilerplate code
Use ospray_util.h to access these additional functions
All utility functions are implemented in terms of the core API
found in ospray.h, therefore they are compatible with any
device backend
Introduction of new Intel® Open Volume Kernel Library (Open VKL)
for greatly enhanced volume sampling and rendering features and
performance
Added direct support for Intel® Open Image Denoise as an optional
module, which adds a denoiser type to ospNewImageOperation
OSPRay now requires minimum Embree v3.7.0
New CMake superbuild available to build both OSPRay's dependencies
and OSPRay itself
Found in scripts/superbuild
See documentation for more details and example usage
The ospcommon library now lives as a stand alone repository and
is required to build OSPRay
The MPI module is now a separate repository, which also contains all
MPI distributed rendering documentation
Log levels are now controled with enums and named strings (where applicable)
A new flag was also introduced which turns all OSP_LOG_WARNING messages
into errors, which are submitted to the error callback instead of the
message callback
Any unused parameters an object ignores now emit a warning message
New support for volumes in the pathtracer
Several parameters are available for performance/quality
trade-offs for both photo-realistic and scientific visualization
use cases
Simplification of the SciVis renderer
Fixed AO lighting and simple ray marched volume rendering for
ease of use and performance
Overlapping volumes are now supported in both the pathtracer and scivis
renderers
New API call for querying the bounds of objects (OSPWorld, OSPInstance, and OSPGroup)
Lights now exist as a parameter to the world instead of the renderer
Removal of slices geometry. Instead, any geometry with volume
texture can be used for slicing
Introduction of new boxes geometry type
Expansion of information returned by ospPick
Addition of API to query version information at runtime
Curves now supports both, per vertex varying radii as in vec4f[] vertex.position_radius and constant radius for the geometry with float radius. It uses OSP_ROUND type and OSP_LINEAR basis by
default to create the connected segments of constant radius. For per
vertex varying radii curves it uses Embree curves.
Add new Embree curve type OSP_CATMULL_ROM for curves
Minimum required Embree version is now 3.7.0
Removal of cylinders and streamlines geometry, use curves
instead
Triangle mesh and Quad mesh are superseded by the mesh geometry
Applications need to use the various error reporting methods to
check wether the creation (via ospNew...) of objects failed; a
returned NULL is not a special handle anymore to signify an error
Changed module init methods to facilitate version checking: extern "C" OSPError ospray_module_init_<name>(int16_t versionMajor, int16_t versionMinor, int16_t versionPatch)
The map_backplate texture is supported in all renderers and does
not hide lights in infinity (like the HDRI light) anymore;
explicitely make lights invisible if this is needed
Changed the computation of variance for adaptive accumulation to be
independent of TILE_SIZE, thus varianceThreshold needs to be
adapted if using a different TILE_SIZE than default 64
OSPGeometricModel now has the option to index a renderer-global material
list that lives on the renderer, allowing scenes to avoid renderer-specific
materials
Object type names and parameters all now follow the camel-case convention
New ospExamples app which consolidates previous interactive apps into one
New ospBenchmark app which implements a runnable benchmark suite
Known issues:
ISPC v1.11.0 and Embree v3.6.0 are both incompatible with OSPRay
and should be avoided (OSPRay should catch this during CMake
configure)