Intel® Embree Ray Tracing Kernels
Discussion forum on the open source ray tracing kernels for fast photo-realistic rendering on Intel® CPU(s)
279 Discussions

How is embree passing aligned function arguments and still does work?

Emil_K_
Beginner
232 Views

I noticed in the file heuristic_binning.h, there's a type PrimInfo, whose c'tor accepts BBox3f by value, this will invoke a copy c'tor, but BBox3f has alignment inherited via Vec3f<float>. This shoud trigger and error with the MS compiler (error C2719), but it actully does not. Anyone care to explain why? Disabled somehow?

0 Kudos
1 Reply
SvenW_Intel
Moderator
232 Views

Using the MS compiler values passed by value will not be properly aligned. As a workaround one has to pass all values by reference that need alignment. I fixed that bug in the git repository of Embree, check it out here embree.github.com

0 Kudos
Reply