{'fraction_non_alphanumeric': 0.0185799601857996, 'fraction_numerical': 0.0, 'mean_word_length': 5.417021276595745, '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}}
Hybrid ray tracing - ray tracing using gpu-accelerated image-space methods

In recent years, interactive ray tracing has become a reality, although mainly by using clustered workstations and sophisticated acceleration structures. On non-clustered computer architectures this is still not an easy task, especially when rendering animated scenes, even though the computation power of modern workstations is increasing rapidly. In this paper we propose known image-space rendering techniques to be used for accelerating ray tracing. Firstly, we describe a GPU-based visibility preprocessing algorithm to perform interactive ray casting by applying the standard depth testing capability of graphics processing units. This method – called object intersection buffer (OIB) – is particularly suitable for ray casting animated scenes, as it completely avoids the necessity of creating and updating any kind of spatial acceleration structures in order to achieve high frame rates. Then we integrate shadow rendering into our ray caster using the shadow mapping technique to avoid computationally expensive shadow rays. Then, we convert our GPU-based ray caster into a hybrid ray tracer by computing reflection and refraction rays on the CPU using a spatial acceleration structure. This allows us to exploit parallel rendering to increase the overall frame rate. Finally, we compare our implementations to each other and analyse their advantages and disadvantages in terms of visual quality and rendering performance.