{'fraction_non_alphanumeric': 0.015239477503628448, 'fraction_numerical': 0.02104499274310595, 'mean_word_length': 5.296803652968037, '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}}
Interactive GPU volume raycasting in a clustered graphics environment

This research focuses on performing interactive, real-time volume raycasting in a large clustered graphics environment using custom GPU shaders for composite volume raycasting with trilinear interpolation. Working in this type of environment presents unique challenges due to the distributed nature, and inherently required synchronization of data and operations across the cluster. Invoking custom vertex and fragment shaders in a non-thread-safe manner becomes increasingly complex in a large clustered graphics environment. Through use of an abstraction layer, all rendering contexts are split-up with no changes to the volume raycasting core. Therefore, the volume raycasting core is completely transparent from the computing platform. The application was tested on a 6-wall immersive VR system with 96 graphics contexts coming from 48 cluster nodes. Interactive framerates of 60 frames per second were produced on 512x512x100 volumes, and an average of 30 frames per second for a 512x512x1000 volume. The use of custom configuration files allows the same code to be highly scalable from a single screen VR system to a fully immersive 6-sided wall VR system. Through the code abstraction, the same volume raycasting core can be implemented on any type of computing platform including desktop and mobile.