@@ -37,10 +37,10 @@ namespace cuBQL {
3737 cuBQL::ray_t <T> ray,
3838 bool dbg=false );
3939
40- template <typename Lambda, typename T>
40+ template <typename Lambda, typename bvh_t , typename T>
4141 inline __cubql_both
4242 void forEachPrim (const Lambda &lambdaToExecuteForEachCandidate,
43- BinaryBVH<T, 3 > bvh,
43+ bvh_t bvh,
4444 cuBQL::ray_t <T> ray,
4545 bool dbg=false );
4646
@@ -106,19 +106,10 @@ namespace cuBQL {
106106 /* ! single level BVH ray traversal, provided lambda covers what
107107 happens when a ray wants to intersect a given prim within that
108108 bvh */
109- template <typename Lambda, typename T>
110- inline __cubql_both
111- void forEachPrim (const Lambda &lambdaToExecuteForEachCandidate,
112- BinaryBVH<T,3 > bvh,
113- ray_t <T> &ray,
114- bool dbg=false );
115- /* ! single level BVH ray traversal, provided lambda covers what
116- happens when a ray wants to intersect a given prim within that
117- bvh */
118- template <typename Lambda, typename T, int W>
109+ template <typename Lambda, typename bvh_t , typename T>
119110 inline __cubql_both
120111 void forEachPrim (const Lambda &lambdaToExecuteForEachCandidate,
121- WideBVH<T, 3 ,W> bvh,
112+ bvh_t bvh,
122113 ray_t <T> &ray,
123114 bool dbg=false );
124115
@@ -464,10 +455,10 @@ namespace cuBQL {
464455
465456 /* ! this query assumes lambads that return CUBQL_CONTINUE_TRAVERSAL
466457 or CUBQL_TERMINATE_TRAVERSAL */
467- template <typename Lambda, typename T>
458+ template <typename Lambda, typename bvh_t , typename T>
468459 inline __cubql_both
469460 void fixedRayQuery::forEachPrim (const Lambda &lambdaToExecuteForEachCandidate,
470- BinaryBVH<T, 3 > bvh,
461+ bvh_t bvh,
471462 cuBQL::ray_t <T> ray,
472463 bool dbg)
473464 {
@@ -672,10 +663,10 @@ namespace cuBQL {
672663 return T (CUBQL_INF);
673664 }
674665
675- template <typename Lambda, typename T>
666+ template <typename Lambda, typename bvh_t , typename T>
676667 inline __cubql_both
677668 void shrinkingRayQuery::forEachPrim (const Lambda &lambdaToExecuteForEachCandidate,
678- BinaryBVH<T, 3 > bvh,
669+ bvh_t bvh,
679670 ray_t <T> &ray,
680671 bool dbg)
681672 {
@@ -688,8 +679,6 @@ namespace cuBQL {
688679 shrinkingRayQuery::forEachLeaf (perLeaf,bvh,ray,dbg);
689680 }
690681
691-
692-
693682 /* ! two-level BVH ray traversal, where the BVH is made up of a
694683 "TLAS" (top-level acceleration structure) that itself contains
695684 objects with "BLAS"es (bottom-level acceleration
0 commit comments