Assets 7
  • Make sure a "default" device can always be created
  • Fix ospNewTexture2D (completely implementing old behaviour)
  • Cleanup any shared object handles from the OS created from ospLoadModule()

@jeffamstutz jeffamstutz released this Nov 9, 2018 · 9 commits to master since this release

Assets 7
  • Fix issue in mpi_offload device where ospRelease would sometimes not
    correctly free objects
  • Fix issue in ospray_sg where structured volumes would not properly
    release the underlying OSPRay object handles

@jeffamstutz jeffamstutz released this Oct 25, 2018 · 17 commits to master since this release

Assets 7
  • Fixed issue where the Principled material would sometimes show up
    incorrectly as black
  • Fixed issue where some headers were missing from install packages

@jeffamstutz jeffamstutz released this Sep 14, 2018 · 44 commits to master since this release

Assets 7
  • Generalized texture interface to support more than classic 2D image
    textures, thus OSPTexture2D and ospNewTexture2D are now
    deprecated, use the new API call ospNewTexture("texture2d")
    • Added new volume texture type to visualize volume data on arbitrary
      geometry placed inside the volume
  • Added new framebuffer channels OSP_FB_NORMAL and OSP_FB_ALBEDO
  • Applications can get information about the progress of rendering the
    current frame, and optionally cancel it, by registering a callback
    function via ospSetProgressFunc()
  • Lights are not tied to the renderer type, so a new function ospNewLight3()
    was introduced to implement this. Please convert all uses of ospNewLight()
    and/or ospNewLight2() to ospNewLight3()
  • Added sheenTint parameter to Principled material
  • Added baseNormal parameter to Principled material
  • Added low-discrepancy sampling to path tracer
  • The spp parameter on the renderer no longer supports values less than 1,
    instead applications should render to a separate, lower resolution
    frame buffer during interaction to achieve the same behavior

@johguenther johguenther released this Jun 8, 2018 · 333 commits to master since this release

Assets 8

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

@jeffamstutz jeffamstutz released this May 15, 2018 · 352 commits to master since this release

Assets 8
  • 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
  • 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

@jeffamstutz jeffamstutz released this Mar 8, 2018 · 767 commits to master since this release

Assets 8
  • TetrahedralVolume now generalized to take both tet and hex data, now called
  • New function for creating materials (ospNewMaterial2) which takes the
    renderer type string, not a renderer instance (the old version is now
  • 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

@johguenther johguenther released this Jan 10, 2018 · 1251 commits to master since this release

Assets 8
  • Several bug fixes
    • Fixed potential issue with static initialization order
    • Correct compiler flags for Debug config
    • Spheres postIntersect shading is now 64-bit safer

@jeffamstutz jeffamstutz released this Nov 28, 2017 · 1260 commits to master since this release

Assets 8
  • 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

@johguenther johguenther released this Nov 10, 2017 · 1271 commits to master since this release

Assets 8
  • 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