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

Filter function from argument is not called with user geometries

ArthurTaylor
Beginner
685 Views

Hello

In our rendering engine, we have created some user geometry objects (using RTC_GEOMETRY_TYPE_USER). It works like a charm, except when it comes to the filter function from argument that is never triggered. It is working for the standard geometry types.

For the details, the engine calls rtcIntersect1 with the custom argument filter set in the third parameter of type RTCIntersectArguments. We also have set rtcSetGeometryEnableFilterFunctionFromArguments( rtcGeom, true) for the user geometries, added RTC_RAY_QUERY_FLAG_INVOKE_ARGUMENT_FILTER to arguments flags, but the filter is sill not called.

Do we have to call explicitly the filter from the custom intersect function of the user geometry? Or something else must be missing ?

Thanks in advance for your answers!

Arthur

0 Kudos
1 Solution
FlorianR_Intel
Employee
667 Views

Hi Arthur,

 

you are right, for user geometry the callback functions must be called explicitly. That's by design and not a bug.

 

You can check out the user geometry tutorial code (e.g. tutorials/user_geometry/user_geometry_device.cpp:325-330) to see how it's supposed to be implemented.

 

Cheers,

Florian

View solution in original post

2 Replies
FlorianR_Intel
Employee
668 Views

Hi Arthur,

 

you are right, for user geometry the callback functions must be called explicitly. That's by design and not a bug.

 

You can check out the user geometry tutorial code (e.g. tutorials/user_geometry/user_geometry_device.cpp:325-330) to see how it's supposed to be implemented.

 

Cheers,

Florian

ArthurTaylor
Beginner
665 Views

Ok, thank you very much for your help Florian!

Regards,

Arthur

0 Kudos
Reply