Embree 是英特尔开发的高性能光线追踪库,Embree 支持 Linux、macOS 和 Windows 下的 x86 CPU;macOS 下的 ARM CPU;以及 Linux 和 Windows 下的英特尔 GPU。
- Embree 通过 SYCL 增加了对 Intel Arc GPU 的支持
- Embree 的 SYCL 支持处于测试阶段。目前的功能、质量和 GPU 性能可能无法反映最终产品的情况。
- 这个版本的 Embree CPU 支持为 Gold 级别,包含了与以前版本相同的质量和性能。
- 为了在 CPU 和 GPU 上获得最佳的体验和性能,需要进行少量的 API 修改。
- rtcIntersect 和 rtcOccluded 函数参数略有改变。
- RTCIntersectContext 被重命名为 RTCRayQuery context,大部分成员移至新的 RTCIntersectArguments 和 RTCOccludedArguments 结构。
- rtcFilterIntersection 和 rtcFilterOcclusion 的 API 调用被替换为 rtcInvokeIntersectFilterFromGeometry 和 rtcInvokeOccludedFilterFromGeometry API 调用。
- rtcSetGeometryEnableFilterFunctionFromArguments 可以为一些几何体启用参数过滤功能。
- RTC_RAY_QUERY_FLAG_INVOKE_ARGUMENT_FILTER 射线查询标志可以为每个几何体启用参数过滤功能。
- 按照大多数用户的要求,现在默认启用了 Ray mask。
- 几何图形的默认 Ray mask 从 0xFFFFFFFF 改为 0x1。
- 删除了 Ray Stream API,因为它很少被使用,与数据包追踪相比性能优势很小。
- rtcGetGeometryUserDataFromScene API 调用被添加到 SYCL 代码中使用
- Feature 标志可以降低代码的复杂度,以便在 GPU 上获得最佳性能。
- 修正了 Linux 下 ARM AArch64 处理器的编译问题
- 在所有平台上为 ARM 设置默认频率级别为 SIMD256。
- EMBREE_ISPC_SUPPORT 默认为关闭
- Embree 放弃了对过时的 Intel(R) 编译器的支持。它被 Windows 和 Linux 上的 Intel(R) oneAPI DPC++/C++ Compiler 和 macOS 上的 Intel(R) C++ Classic Compiler 取代
更多详情可查看:https://github.com/embree/embree/releases/tag/v4.0.0