Skip to content

Releases: RenderKit/embree

Embree v3.0.0-beta.0

09 Feb 08:16
Compare
Choose a tag to compare
Embree v3.0.0-beta.0 Pre-release
Pre-release
  • Switched to a new version of the API which provides improved flexibility but is not backwards compatible. Please see "Upgrading from Embree 2 to Embree 3" section of documentation for upgrade instructions. In particular, we provide a python script that performs most of the transition work.
  • User geometries inside an instanced scene and a top-level scene no longer need to handle instID field of ray differently. They both just need to copy the context.instID into the ray.instID field.
  • Support for context filter functions that can get assigned to a ray query.
  • User geometries can now invoke filter functions using the rtcFilterIntersection and rtcFilterOcclusion calls.
  • Higher flexibility through specifying build quality per scene and geometry.
  • Geometry normal uses commonly used right hand rule from now on.
  • Added self intersection avoidance to ribbon curves and lines. Applications do not have to implement self intersections workarounds for these primitive types anymore.
  • Added support for 4 billion primitives in a single scene.
  • Removed RTC_MAX_USER_VERTEX_BUFFERS and RTC_MAX_INDEX_BUFFERS limitation.
  • Reduced memory consumption by 192 bytes per instance.
  • Individual Contributor License Agreement (ICLA) and Corporate Contributor License Agreement (CCLA) no longer required to contribute to the project.

Embree v2.17.2

17 Jan 07:33
Compare
Choose a tag to compare

New Features in Embree 2.17.2

  • Made BVH build of curve geometry deterministic.

Embree v2.17.1

14 Nov 09:28
Compare
Choose a tag to compare
  • Improved performance of occlusion ray packets by up to 50%.
  • Fixed detection of Clang for CMake 3 under MacOSX.
  • Fixed AVX code compilation issue with GCC 7 compiler caused by
    explicit use of vzeroupper intrinsics.
  • Fixed an issue where Clang address sanitizer reported an error in
    the internal tasking system.
  • Added fix to compile on 32 bit Linux distribution.
  • Fixed some wrong relative include paths in Embree.
  • Improved performance of robust single ray mode by 5%.
  • Added EMBREE_INSTALL_DEPENDENCIES option (default OFF) to enable
    installing of Embree dependencies.
  • Fixed performance regression for occlusion ray streams.
  • Reduced temporary memory requirements of BVH builder for curves and
    line segments.
  • Fixed performance regression for user geometries and packet ray tracing.
  • Fixed bug where wrong closest hit was reported for very curvy hair segment.

Embree v2.17.0

25 Sep 05:37
Compare
Choose a tag to compare
  • Improved packet ray tracing performance for coherent rays by 10-60% (requires RTC_INTERSECT_COHERENT flag).
  • Improved ray tracing performance for incoherent rays on AVX-512 architectures by 5%.
  • Improved ray tracing performance for streams of incoherent rays by 5-15%.
  • Fixed tbb_debug.lib linking error under Windows.
  • Fast coherent ray stream and packet code paths now also work in robust mode.
  • Using less agressive prefetching for large BVH nodes which results in 1-2% higher ray tracing performance.
  • Precompiled binaries have stack-protector enabled, except for traversal kernels. BVH builders can be slightly slower due to this change. If you want stack-protectors disabled please turn off EMBREE_STACK_PROTECTOR in cmake and build the binaries.
  • When enabling ISAs individually, the 8-wide BVH was previously only available when the AVX ISA was also selected. This issue is now fixed, and one can enable only AVX2 and still get best performance by using an 8-wide BVH.
  • Fixed rtcOccluded1 and rtcOccluded1Ex API functions which were broken in ISPC.
  • Providing MSI installer for Windows

Embree v2.16.5

15 Aug 10:30
Compare
Choose a tag to compare
  • Bugfix in the robust triangle intersector that rarely caused NaNs.
  • Fixed bug in hybrid traversal kernel when BVH leaf was entered with no
    active rays. This rarely caused crashes when used with instancing.
  • Fixed bug introduced in Embree 2.16.2 which caused instancing not to
    work properly when a smaller than the native SIMD width was
    used in ray packet mode.
  • Fixed bug in the curve geometry intersector that caused rendering
    artefacts for Bézier curves with p0=p1 and/or p2=p3.
  • Fixed bug in the curve geometry intersector that caused hit results
    with NaNs to be reported.
  • Fixed masking bug that caused rare cracks in curve geometry.
  • Enabled support for SSE2 in precompiled binaries again.

Embree v2.16.4

29 Jun 06:37
Compare
Choose a tag to compare
  • Bugfix in the ribbon intersector for hair primitives. Non-normalized rays caused wrong intersection distance to be reported.

Embree v2.16.3

26 Jun 06:21
Compare
Choose a tag to compare
  • Increased accuracy for handling subdivision surfaces. This fixes cracks when using displacement mapping but reduces performance at irregular vertices.
  • Fixed a bug where subdivision geometry was not properly updated when modifying only the tesselation rate and vertex array.

Embree v2.16.2

14 Jun 08:19
Compare
Choose a tag to compare
  • Fixed bug that caused NULL intersection context in intersection filter when instancing was used.
  • Fixed an issue where uv's where outside the triangle (or quad) for very small triangles (or quads). In robust mode we improved the uv calculation to avoid that issue, in fast mode we accept that inconsistency for better performance.
  • Changed UV encoding for non-quad subdivision patches to allow a subpatch UV range of [-0.5,1.5[. Using this new encoding one can use finite differences to calculate derivatives if required. Please adjust your code in case you rely on the old encoding.

Embree v2.16.1

23 May 07:28
Compare
Choose a tag to compare
  • Workaround for compile issues with Visual Studio 2017
  • Fixed bug in subdiv code for static scenes when using tessellation levels larger than 50.
  • Fixed low performance when adding many geometries to a scene.
  • Fixed high memory consumption issue when using instances in dynamic scene (by disabling two level builder for user geometries and instances).

Embree v2.16.0

17 May 06:16
Compare
Choose a tag to compare
  • Improved multi-segment motion blur support for scenes with different number of time steps per mesh.
  • New top level BVH builder that improves build times and BVH quality of two-level BVHs.
  • Added support to enable only a single ISA. Previously code was always compiled for SSE2.
  • Improved single ray tracing performance for incoherent rays on AVX512 architectures by 5-10%.
  • Improved packet/hybrid ray tracing performance for incoherent rays on AVX512 architectures by 10-30%.
  • Improved stream ray tracing performance for coherent rays in structure-of-pointers layout by 40-70%.
  • BVH builder for compact scenes of triangles and quads needs essentially no temporary memory anymore. This doubles the maximal scene size that can be rendered in compact mode.
  • Triangles no longer store the geometry normal in fast/default mode which reduces memory consumption by up to 20%.
  • Compact mode uses BVH4 now consistently which reduces memory consumption by up to 10%.
  • Reduced memory consumption for small scenes (of 10k-100k primitives) and dynamic scenes.
  • Improved performance of user geometries and instances through BVH8 support.
  • The API supports now specifying the geometry ID of a geometry at construction time. This way matching the geometry ID used by Embree and the application is simplified.
  • Fixed a bug that would have caused a failure of the BVH builder for dynamic scenes when run on a machine with more then 1000 threads.
  • Fixed a bug that could have been triggered when reaching the maximal number of mappings under Linux (vm.max_map_count). This could have happened when creating a large number of small static scenes.
  • Added huge page support for Windows and MacOSX (experimental).
  • Added support for Visual Studio 2017.
  • Removed support for Visual Studio 2012.
  • Precompiled binaries now require a CPU supporting at least the SSE4.2 ISA.
  • We no longer provide precompiled binaries for 32 bit on Windows.
  • Under Windows one now has to use the platform toolset option in CMake to switch to Clang or the Intel® Compiler.
  • Fixed a bug for subdivision meshes when using the incoherent scene flag.
  • Fixed a bug in the line geometry intersection, that caused reporting an invalid line segment intersection with primID -1.
  • Buffer stride for vertex buffers of different time steps of triangle and quad meshes have to be identical now.
  • Fixed a bug in the curve geometry intersection code when passed a perfect cylinder.