Skip to content

Releases: RenderKit/ospray

OSPRay v1.6.1

08 Jun 15:14
Compare
Choose a tag to compare

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

15 May 04:42
Compare
Choose a tag to compare
  • 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 the scivis renderer
  • 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 as OSP_UCHAR4, or passing the
    "colorData" through an OSPData of OSP_UCHAR4.
  • Added ability to configure Embree scene flags via OSPModel parameters
  • ospFreeFrameBuffer has been deprecated in favor of using ospRelease 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

OSPRay v1.5.0

08 Mar 14:43
Compare
Choose a tag to compare
  • 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]
  • 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
  • Enhancements to sample applications
    • ospray_sg (and thus ospExampleViewer/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

10 Jan 11:53
Compare
Choose a tag to compare
  • 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

28 Nov 19:21
Compare
Choose a tag to compare
  • 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
  • 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

10 Nov 16:42
Compare
Choose a tag to compare
  • 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 path tracer materials
    • Also support RGB eta/k for Metal
    • Added Alloy material, a "metal" with textured color
  • Minimum required Embree version is now v2.15

OSPRay v1.4.0

29 Sep 19:13
Compare
Choose a tag to compare
  • 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
  • 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 (both mpi_offload and mpi_distributed devices)
  • 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

OSPRay v1.3.1

07 Jul 15:21
Compare
Choose a tag to compare
  • 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

OSPRay v1.3.0

03 Jun 02:30
Compare
Choose a tag to compare
  • 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
  • Deprecated ospCreateDevice(); use ospNewDevice() 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() and ospDeviceGetLastErrorMsg())
      or to register an error callback with ospDeviceSetErrorFunc()
    • Fixed bug where exceptions could leak to C applications

OSPRay v1.2.1

14 Mar 16:25
Compare
Choose a tag to compare
  • Various bugfixes related to MPI distributed rendering, ISPC issues on Windows, and other build related issues.