Skip to content

Commit 669297b

Browse files
authored
Merge pull request #33 from manuelkNVDA/main
Fix WideBVH ray queries
2 parents df02f90 + afae7cb commit 669297b

File tree

1 file changed

+8
-19
lines changed

1 file changed

+8
-19
lines changed

cuBQL/traversal/rayQueries.h

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)