Releases: RenderKit/embree
Releases · RenderKit/embree
Embree v2.7.1
- Internal tasking system supports cancellation of build operations.
- ISPC mode for robust and compact scenes got significantly faster (implemented hybrid traversal for bvh4.triangle4v and bvh4.triangle4i).
- Hair rendering got faster as we fixed some issues with the SAH heuristic cost factors.
- BVH8 got slight faster for single ray traversal (improves sorting when hitting more than 4 boxes).
- BVH build performance got up to 30% faster on CPUs with high core counts (improved parallel partition code).
- High quality build mode again working properly (spatial splits had been deactivated in v2.7.0 due to some bug).
- Support for merging two adjacent triangles sharing a common edge into a triangle-pair primitive (can reduce memory consumption and BVH build times by up to 50% for mostly quad-based input meshes).
- Internal cleanups (reduced number of traversal kernels by more templating)
- Reduced stack size requirements of BVH builders.
- Fixed crash for dynamic scenes, triggered by deleting all geometries from the scene.
Embree v2.7.0
- Added device concept to Embree to allow different components of an application to use Embree without interfering with each other.
- Fixed memory leak in twolevel builder used for dynamic scenes.
- Fixed bug in tesselation cache that caused crashes for subdivision surfaces.
- Fixed bug in internal task scheduler that caused deadlocks when using rtcCommitThread.
- Improved hit-distance accuracy for thin triangles in robust mode.
- Added support to disable ray packet support in cmake.
Embree v2.6.2
- Fixed bug triggered by instantiating motion blur geometry.
- Fixed bug in hit UV coordinates of static subdivision geometry.
- Performance improvements when only changing tessellation levels for
subdivision geometry per frame. - Added ray packet intersectors for subdivision geometry, resulting in
improved performance for coherent rays. - Reduced virtual address space usage for static geometries.
- Fixed some AVX2 code paths when compiling with GCC or CLANG.
- Bugfix for subdiv patches with non-matching winding order.
- Bugfix in ISA detection of AVX512.
Embree v2.6.1
- Major performance improvements for ray tracing subdivision surfaces, e.g. up to 2x faster for scenes where only the tessellation levels are changing per frame, and up to 3x faster for scenes with lots of crease features.
- Initial support for architectures supporting the new 16-wide AVX512 ISA.
- Implemented intersection filter callback support for subdivision surfaces.
- Added
RTC_IGNORE_INVALID_RAYS
CMake option which makes the ray intersectors more robust against potential full tree traversal caused by invalid ray inputs (e.g. INF, NAN, etc).
Embree v2.6.0
- Added
rtcInterpolate
function to interpolate per vertex
attributes - Added
rtcSetBoundaryMode
function that can be used to select the
boundary handling for subdivision surfaces - Fixed a traversal bug that caused rays with very small ray
direction components to miss geometry - Performance improvements for the robust traversal mode
- Fixed deadlock when calling rtcCommit from multiple
threads on same scene.
Embree v2.5.1
- On dual socket workstations, the initial BVH build performance almost doubled through a better memory allocation scheme.
- Reduced memory usage for subdivision surface objects with crease features.
- rtcCommit performance is robust against unset "flush to zero" and "denormals are zero" flags. However, enabling these flags in your application is still recommended.
- Internal cleanups and bugfixes.
Embree v2.5.0
- Improved hierarchy build performance on both Intel® Xeon® and Intel® Xeon Phi™
- Vastly improved tessellation cache for ray tracing subdivision surfaces
- Added rtcGetUserData API call to query per geometry user pointer set through rtcSetUserData
- Added support for memory monitor callback functions to track and limit memory consumption
- Added support for progress monitor callback functions to track build progress and cancel long build operations
- BVH builders can be used to build user defined hierarchies inside the application (see tutorial BVH Builder)
- Switched to TBB as default tasking system on Xeon to get even faster hierarchy build times and better integration for applications that also use TBB
- rtcCommit can get called from multiple TBB threads to join the hierarchy build operations
Embree v2.4.0
- Support for Catmull Clark subdivision surfaces (triangle/quad base primitives)
- Support for vector displacements on Catmull Clark subdivision surfaces
- Various bugfixes (e.g. 4-byte alignment of vertex buffers works)
Embree v2.3.3
- BVH builders more robustly handle invalid input data (Intel Xeon processor family)
- Motion blur support for hair geometry (Xeon)
- Improved motion blur performance for triangle geometry (Xeon)
- Improved robust ray tracing mode (Xeon)
- Added rtcCommitThread API call for easier integration into existing tasking systems (Xeon and Intel Xeon Phi coprocessor)
- Added support for recording and replaying all rtcIntersect/rtcOccluded calls (Xeon and Xeon Phi)
Embree v2.3.2
- Improved mixed AABB/OBB-BVH for hair geometry (Xeon Phi)
- Reduced amount of pre-allocated memory for BVH builders (Xeon Phi)
- New 64 bit Morton code-based BVH builder (Xeon Phi)
- (Enhanced) Morton code-based BVH builders use now tree rotations to improve BVH quality (Xeon Phi)
- Bug fixes (Xeon and Xeon Phi)