Releases: RenderKit/ospray
Releases · RenderKit/ospray
OSPRay v1.6.1
Many bug fixes
- Quad mesh interpolation and sampling
- Normal mapping in path tracer materials
- Memory corruption with partly emitting mesh lights
- Logic for setting thread affinity
OSPRay v1.6.0
- Updated ISPC device to use Embree v3.1+
- Added new
ospShutdown
API function to aid in correctness and determinism
of OSPRay API cleanup - Added Principled and CarPaint materials to the path tracer
- Improved flexibility of the tone mapper
- Improvements to
UnstructuredVolume
- Implemented support for wedges (in addition to tets and hexes)
- Implemented support for implicit isosurface geometry
- Implemented support for cell-centered data (as an alternative to
per-vertex data) - Added an option to precompute normals, providing a memory/performance
tradeoff for applications
- Implemented
QuadMesh
geometry type to handle quads directly - Implemented the ability to set 'void' cell values in all volume types
- When
nan
is present as a volume's cell value the volume sample will be
ignored by thescivis
renderer
- When
- Fixed support for color strides which were not multiples of
sizeof(float)
- Added support for RGBA8 color format to Spheres, which can be set by
specifying the "colorFormat" parameter asOSP_UCHAR4
, or passing the
"colorData" through anOSPData
ofOSP_UCHAR4
. - Added ability to configure Embree scene flags via
OSPModel
parameters ospFreeFrameBuffer
has been deprecated in favor of usingospRelease
to
free frame buffer handles- Fixed memory leak caused by incorrect parameter reference counts in ISPC
device - Fixed occasional crashes in the
MPIOffload
device on shutdown - Various improvements to sample apps and
ospray_sg
- Added new
generator
nodes, allowing the ability to inject
programmatically generated scene data (only C++ for now) - Bugfixes and improvements to enhance stability and usability
- Added new
OSPRay v1.5.0
- TetrahedralVolume now generalized to take both tet and hex data, now called
UnstructuredVolume
- New function for creating materials (
ospNewMaterial2
) which takes the
renderer type string, not a renderer instance (the old version is now
deprecated) - New
tonemapper
PixelOp for tone mapping final frames - Streamlines now support per-vertex radii and smooth interpolation
ospray_sg
headers are now installed alongside the SDK- Core OSPRay ispc device now implemented as a module
- Devices which implement the public API are no longer required to link
the dependencies to core OSPRay (e.g. Embree v2.x) - By default,
ospInit
will load the ispc module if a device was not
created via--osp:mpi
or--osp:device:[name]
- Devices which implement the public API are no longer required to link
- MPI devices can now accept an existing world communicator instead of always
creating their own - Added ability to control ISPC specific optimization flags via CMake options
- See the various
ISPC_FLAGS_*
variables to control which flags get used
- See the various
- Enhancements to sample applications
ospray_sg
(and thusospExampleViewer
/ospBenchmark
) can now be
extended with new scene data importers via modules or the SDK- Updated ospTutorial examples to properly call ospRelease()
- New options in the ospExampleViewer GUI to showcase new features
- SRGB frame buffers, tone mapping, etc.
- General bug fixes
- Fixes to geometries with multiple emissive materials
- Improvements to precision of ray-sphere intersections
OSPRay v1.4.3
- Several bug fixes
- Fixed potential issue with static initialization order
- Correct compiler flags for Debug config
- Spheres
postIntersect
shading is now 64-bit safer
OSPRay v1.4.2
- Several cleanups and bug fixes
- Fixed memory leak where the Embree BVH was never released when an
OSPModel was released - Fixed a crash when API logging was enabled in certain situations
- Fixed a crash in MPI mode when creating lights without a renderer
- Fixed an issue with camera lens samples not initilized when spp <= 0
- Fixed an issue in ospExampleViewer when specifying multiple data files
- Fixed memory leak where the Embree BVH was never released when an
- The C99 tutorial is now indicated as the default; the C++ wrappers do not
change the semantics of the API (memory management) so the C99 version
should be considered first when learning the API
OSPRay v1.4.1
- Several cleanups and bug fixes
- Improved precision of ray intersection with streamlines,
spheres, and cylinder geometries - Fixed address overflow in framebuffer, in practice image size is
now limited only by available memory - Fixed several deadlocks and race conditions
- Fix shadow computation in SciVis renderer, objects behind light
sources do not occlude anymore - No more image jittering with MPI rendering when no accumulation
buffer is used
- Improved precision of ray intersection with streamlines,
- Improved path tracer materials
- Also support RGB
eta
/k
for Metal - Added Alloy material, a "metal" with textured color
- Also support RGB
- Minimum required Embree version is now v2.15
OSPRay v1.4.0
- New adaptive mesh refinement (AMR) and unstructured tetrahedral volume types
- Dynamic load balancing is now implemented for the
mpi_offload
device - Many improvements and fixes to the available path tracer materials
- Specular lobe of OBJMaterial uses Blinn-Phong for more
realistic highlights - Metal accepts spectral samples of complex refraction index
- ThinGlass behaves consistent to Glass and can texture
attenuation color
- Specular lobe of OBJMaterial uses Blinn-Phong for more
- Added Russian roulette termination to path tracer
- SciVis OBJMaterial accepts texture coordinate transformations
- Applications can now access depth information in MPI distributed uses of
OSPRay (bothmpi_offload
andmpi_distributed
devices) - Many robustness fixes for both the
mpi_offload
andmpi_distributed
devices through improvements to thempi_common
andmpi_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
OSPRay 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 bugs related to CMake configuration when using
- Fixed issue with Embree library when installing with
OSPRAY_INSTALL_DEPENDENCIES
enabled
OSPRay 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
- Enabled via new
- 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 parametersetAffinity
, or commandline parameter
osp:setaffinity
, or environment variableOSPRAY_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 oldospGlutViewer
application
- Building the sample applications now requires GCC 4.9 (previously
- Deprecated
ospCreateDevice()
; useospNewDevice()
instead - Improved error handling
- Various API functions now return an
OSPError
value ospDeviceSetStatusFunc
replaces the deprecated
ospDeviceSetErrorMsgFunc
- New API functions to query the last error
(ospDeviceGetLastErrorCode()
andospDeviceGetLastErrorMsg()
)
or to register an error callback withospDeviceSetErrorFunc()
- Fixed bug where exceptions could leak to C applications
- Various API functions now return an
OSPRay v1.2.1
- Various bugfixes related to MPI distributed rendering, ISPC issues on Windows, and other build related issues.