{'fraction_non_alphanumeric': 0.0171875, 'fraction_numerical': 0.0015625, 'mean_word_length': 5.437185929648241, '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}}
Variable penumbra soft shadows for mobile devices

In many applications of 3D graphics, shadows increase the believability and perceived quality of a scene. With the increase in power of workstation hardware, high-quality soft shadowing has become relatively common in many 3D desktop applications. In parallel, recent years have seen an increase in the availability and use of mobile and tablet based devices. The popularity of such devices is driving an increase in graphics intensive applications targeting the hardware, many of which will naturally require the use of shadowing algorithms. Yet the different architecture of graphics hardware of mobile devices restricts the implementation of many graphics algorithms, particularly those that require multiple references to a texture, such as common shadowing techniques. In this paper, we discuss effective shadowing on mobile devices. We show that even small-kernel Percentage Closer Filtering (PCF) soft shadows provide unacceptable framerates on mobile GPUs, but also how mip-chain dilation of the edges of a shadow map allows improvement performance to acceptable levels. Finally, we extend this technique by quantizing the strength of the detected edge to implement variable penumbra shadowing based on occluder distance.