Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 8 additions & 19 deletions cuBQL/traversal/rayQueries.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@ namespace cuBQL {
cuBQL::ray_t<T> ray,
bool dbg=false);

template<typename Lambda, typename T>
template<typename Lambda, typename bvh_t, typename T>
inline __cubql_both
void forEachPrim(const Lambda &lambdaToExecuteForEachCandidate,
BinaryBVH<T,3> bvh,
bvh_t bvh,
cuBQL::ray_t<T> ray,
bool dbg=false);

Expand Down Expand Up @@ -106,19 +106,10 @@ namespace cuBQL {
/*! single level BVH ray traversal, provided lambda covers what
happens when a ray wants to intersect a given prim within that
bvh */
template<typename Lambda, typename T>
inline __cubql_both
void forEachPrim(const Lambda &lambdaToExecuteForEachCandidate,
BinaryBVH<T,3> bvh,
ray_t<T> &ray,
bool dbg=false);
/*! single level BVH ray traversal, provided lambda covers what
happens when a ray wants to intersect a given prim within that
bvh */
template<typename Lambda, typename T, int W>
template<typename Lambda, typename bvh_t, typename T>
inline __cubql_both
void forEachPrim(const Lambda &lambdaToExecuteForEachCandidate,
WideBVH<T,3,W> bvh,
bvh_t bvh,
ray_t<T> &ray,
bool dbg=false);

Expand Down Expand Up @@ -464,10 +455,10 @@ namespace cuBQL {

/*! this query assumes lambads that return CUBQL_CONTINUE_TRAVERSAL
or CUBQL_TERMINATE_TRAVERSAL */
template<typename Lambda, typename T>
template<typename Lambda, typename bvh_t, typename T>
inline __cubql_both
void fixedRayQuery::forEachPrim(const Lambda &lambdaToExecuteForEachCandidate,
BinaryBVH<T,3> bvh,
bvh_t bvh,
cuBQL::ray_t<T> ray,
bool dbg)
{
Expand Down Expand Up @@ -672,10 +663,10 @@ namespace cuBQL {
return T(CUBQL_INF);
}

template<typename Lambda, typename T>
template<typename Lambda, typename bvh_t, typename T>
inline __cubql_both
void shrinkingRayQuery::forEachPrim(const Lambda &lambdaToExecuteForEachCandidate,
BinaryBVH<T,3> bvh,
bvh_t bvh,
ray_t<T> &ray,
bool dbg)
{
Expand All @@ -688,8 +679,6 @@ namespace cuBQL {
shrinkingRayQuery::forEachLeaf(perLeaf,bvh,ray,dbg);
}



/*! two-level BVH ray traversal, where the BVH is made up of a
"TLAS" (top-level acceleration structure) that itself contains
objects with "BLAS"es (bottom-level acceleration
Expand Down