Blender Git Commit Log

Git Commits -> Revision 84fa806

Revision 84fa806 by Alexander Gavrilov (master)
November 6, 2018, 18:20 (GMT)
BLI_kdopbvh: add an option to use a priority queue in find_nearest.

Simple find_nearest relies on a heuristic for efficient culling of
the BVH tree, which involves a fast callback that always updates the
result, and the caller reusing the result of the previous find_nearest
to prime the process for the next vertex.

If the callback is slow and/or applies significant restrictions on
what kind of nodes can qualify for the result, the heuristic can't
work. Thus for such tasks it is necessary to order and prune nodes
before the callback at BVH tree level using a priority queue.

Since, according to code history, for simple find_nearest the
heuristic approach is faster, this mode has to be an option.

Commit Details:

Full Hash: 84fa806491cd6485847140424a87d14ea135d2e7
Parent Commit: 39b1e66
Lines Changed: +93, -7

3 Modified Paths:

/source/blender/blenlib/BLI_kdopbvh.h (+8, -0) (Diff)
/source/blender/blenlib/intern/BLI_kdopbvh.c (+63, -5) (Diff)
/tests/gtests/blenlib/BLI_kdopbvh_test.cc (+22, -2) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021