{'fraction_non_alphanumeric': 0.015254237288135594, 'fraction_numerical': 0.001694915254237288, 'mean_word_length': 5.151041666666667, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Multi bounding volume hierarchies

Efficient tracing of single and incoherent rays is still a challenge in computer graphics. Coherent packet tracing has reached real-time performance, but ray packets bring about restrictions for the architecture of the renderer and their suitability for diverging secondary ray bundles is uncertain. The algorithm presented in this paper avoids these problems by not using ray packets at all. Instead, it uses triangle packets and bounding volume packets in a novel acceleration data structure called multi bounding volume hierarchy (MBVH). It is designed for SIMD single ray tracing. The hierarchy is built from a binary bounding volume hierarchy by collapsing subtrees of height two into SIMD nodes storing four bounding boxes. A modified cost function for construction guarantees that all but one of the leaf nodes contain exactly four triangles. The MBVH makes good use of data-level parallelism during traversal and triangle intersection, yielding speed-ups of up to 2.8times for random ray shooting. It consumes less memory than a regular bounding volume hierarchy and requires no modifications to the architecture of the rendering engine.