diff options
author | Stan Seibert <stan@mtrr.org> | 2012-01-12 13:25:23 -0500 |
---|---|---|
committer | tlatorre <tlatorre@uchicago.edu> | 2021-05-09 08:42:38 -0700 |
commit | 7535581339b839ad17f79ee3e931a0e907cf5071 (patch) | |
tree | 10415e7c8aacd1e5d29969970547490cbea47f54 | |
parent | 1167da9997adebd43a552a65bdfcd3d30fab4a68 (diff) | |
download | chroma-7535581339b839ad17f79ee3e931a0e907cf5071.tar.gz chroma-7535581339b839ad17f79ee3e931a0e907cf5071.tar.bz2 chroma-7535581339b839ad17f79ee3e931a0e907cf5071.zip |
Save offset of each layer in the CPU-computed BVH for use when comparing BVH algorithms.
-rw-r--r-- | chroma/geometry.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/chroma/geometry.py b/chroma/geometry.py index 6bd7eed..08f57d1 100644 --- a/chroma/geometry.py +++ b/chroma/geometry.py @@ -436,12 +436,14 @@ class Geometry(object): begin_last_layer = 0 + layer_offsets = [begin_last_layer] + for layer in count(1): bit_shifted_zvalues = unique_zvalues >> shift unique_zvalues = np.unique(bit_shifted_zvalues) i0 = begin_last_layer + bit_shifted_zvalues.size - + layer_offsets.append(i0) self.node_map.resize(self.node_map.size+unique_zvalues.size) self.node_map[i0:] = np.searchsorted(bit_shifted_zvalues, unique_zvalues) + begin_last_layer self.node_map_end.resize(self.node_map_end.size+unique_zvalues.size) @@ -462,6 +464,7 @@ class Geometry(object): if unique_zvalues.size == 1: break + self.layer_offsets = layer_offsets self.start_node = self.node_map.size - 1 logger.info('BVH construction completed in %1.1f seconds.' % (time.time() - start_time)) |