RenderKit / embree

Embree ray tracing kernels repository.
Apache License 2.0
2.36k stars 385 forks source link

Please make "common" headers and libraries an official part of the embree distribution. #334

Open loopless opened 3 years ago

loopless commented 3 years ago

The "common" headers and libraries are a very useful part of the embree distribution - especially for C++ users. But they are clearly not regarded as "first class citizens of embree" as a building the INSTALL target leaves them out.

It would be very nice if the common headers could be placed under "include/embree3" and the libraries in ./lib Plus renaming them to something more unique than "math.lib" and so on. embree3_math.lib for example.

freibold commented 3 years ago

We already had discussions about this. The long-term goal is to merge the common library with rtcommon https://github.com/ospray/rkcommon. You can take a look if the functionalities you like is already available there. If not, what is missing?

loopless commented 3 years ago

My use case for embree is different to most. We are not using it for visualization. We are using embree purely as a high performance geometrical ray casting algorithm for some acoustic simulation. I find the "common" headers, and their tight binding to the embree data types convenient and useful for our C++ that calls embree. I really don't want to pull in another big project like ospray.

freibold commented 3 years ago

Sure OSPRay would be quite a big dependency but this is a different library that separated out common code used in all your RenderKit libraries (Embree, OSPRay, OpenVKL, ..). Don't be scared that it's under the OSPRay "namespace" =)

StefanBruens commented 1 year ago

OpenPGL also bundles parts of embree, see https://github.com/OpenPathGuidingLibrary/openpgl/tree/main/third-party/embreeSrc/common

I think the math and sys subdirectories are covered by rkcommon, while simd is missing.