Skip to content

Support embree 4 - #1141

Merged
julien-tierny merged 2 commits into
topology-tool-kit:devfrom
lahwaacz:embree
Aug 17, 2026
Merged

julien-tierny merged 2 commits into
topology-tool-kit:devfrom
lahwaacz:embree

Conversation

@lahwaacz

Copy link
Copy Markdown
Contributor

This adds support for embree 4 - fixes #1122

I've kept support for embree 3 which is pinned in scripts/docker/pkg/embree.sh. The Docker image uses outdated versions across the entire stack (embree, ospray, openvkl, ispc, paraview, ...) and should be updated, but I will leave this to somebody else.

embree-config.cmake exports EMBREE_INCLUDE_DIRS (plural); the singular
EMBREE_INCLUDE_DIR was always empty, so embree headers were resolved
only through the compiler's default system include paths.
embree 4 moved the headers to `embree4/` subdirectory and replaced
`RTCIntersectContext` with `RTCIntersectArguments` in the
`rtcIntersect1` signature - see this commit for reference:
RenderKit/embree@07ea5d3

CMake config changed to prefer embree 4 and fall back to embree 3.4 to
keep `scripts/docker/pkg/embree.sh` working (it pins embree to 3.13.2).
The API and include path is selected at compile time via the
`TTK_EMBREE4` definition, derived from the `EMBREE_VERSION_MAJOR` CMake
variable (exported by both embree 3 and embree 4 CMake config files).

Closes topology-tool-kit#1122
@julien-tierny

Copy link
Copy Markdown
Collaborator

Looks great, thanks a lot!

@julien-tierny
julien-tierny merged commit f4ffd1a into topology-tool-kit:dev Aug 17, 2026
97 of 98 checks passed
@julien-tierny

Copy link
Copy Markdown
Collaborator

(in principle, the CI stack should be updated to embree 4, but that can wait too)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support embree 4.4

2 participants