{'fraction_non_alphanumeric': 0.019088016967126194, 'fraction_numerical': 0.0, 'mean_word_length': 4.827160493827161, '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}}
Real-time rendering of bumpmap shadows taking account of surface curvature

The bump-mapping technique is often used to represent bumps on objects such as bark on trees and craters on the moon. In order to render shadows cast by bumps, the horizon map method was proposed. The horizon map is a table which has, for each of a small collection of azimuthal directions, slopes from each viewpoint on the bump map (height field) to the corresponding horizon point, which is the highest viewable point seen from that viewpoint. We propose a more precise method for rendering bumpmap shadows using a both a horizon map and a distance map, to take curvature of surfaces into consideration. The distance map is a table, which has, for each azimuthal direction, horizontal projected distances from each point of the bump map to its corresponding horizon point. The proposed method can render shadows efficiently by using programmable graphics hardware.