-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Port to Embree 4.x #2266
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Port to Embree 4.x #2266
Conversation
|
Filed as internal issue #USD-8002 |
e7c6f67 to
c8fec13
Compare
Need this so we can drop this patch in nixpkgs :3 |
|
/AzurePipelines run |
|
Pull request contains merge conflicts. |
c8fec13 to
a07a6b4
Compare
|
Rebased on |
|
/AzurePipelines run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
Hi, any updates on this patch? |
Well, I’ve been using this PR as a patch for the There’s another PR at #2313 that might be a bit more thorough. Among other things, it only allows Embree 4 rather than requiring it, and the author of that PR seems to be putting more effort into freshening and updating it than I am putting into this one. I haven’t reviewed the differences between the two PR’s in great detail, though. I haven’t seen any feedback from the OpenUSD team on either PR, nor do I have any idea whether there is a concrete plan or timeline for supporting Embree 4. |
I’ll clarify that #2266 (comment) does indicate this is planned in some form, but obviously I can’t see internal issue trackers. |
|
/AzurePipelines run |
|
Closing in favor of #2313, which was merged (#2313 (comment)). |
These changes allow building USD and the `hdEmbree` plugin against the [4.0.0 version of Embree](https://github.com/embree/embree/releases/tag/v4.0.0). The upgrade from 3.x to 4.x of Embree involves a filename change of headers and libraries (`embree3` -> `embree4`), the renaming of the header file that contains the version information from `rtcore_version.h` to `rtcore_config.h`, and for the usage in `hdEmbree`, no longer providing an (unused) context to the `rtcIntersect1()` and `rtcOccluded1()` functions. See the notes for more detail on upgrading from Embree 4 to Embree 4 here: https://github.com/RenderKit/embree/tree/v4.0.0?tab=readme-ov-file#upgrading-from-embree-3-to-embree-4 Closes #2266 Closes #2313 (Internal change: 2373054)
These changes allow building USD and the `hdEmbree` plugin against the [4.0.0 version of Embree](https://github.com/embree/embree/releases/tag/v4.0.0). The upgrade from 3.x to 4.x of Embree involves a filename change of headers and libraries (`embree3` -> `embree4`), the renaming of the header file that contains the version information from `rtcore_version.h` to `rtcore_config.h`, and for the usage in `hdEmbree`, no longer providing an (unused) context to the `rtcIntersect1()` and `rtcOccluded1()` functions. See the notes for more detail on upgrading from Embree 4 to Embree 4 here: https://github.com/RenderKit/embree/tree/v4.0.0?tab=readme-ov-file#upgrading-from-embree-3-to-embree-4 Closes PixarAnimationStudios#2266 Closes PixarAnimationStudios#2313 (Internal change: 2373054)
Description of Change(s)
Adjusts CMake scripts and
#includepaths to properly find version 4.x of Embree.Adjusts for renaming of
RTCIntersectContexttoRTCRayQueryContextand modifiedrtcIntersect1/rtcOccludedsignatures.See Embree 4.0.0 changelog and upgrade notes.
Fixes Issue(s)
I am not currently able to easily run the tests.
This PR, applied as a patch to USD 22.05b for the upcoming Fedora 38 and 39 releases, seems to make it compatible with Embree 4.x. At least, the library compiles.