{'fraction_non_alphanumeric': 0.017118402282453638, 'fraction_numerical': 0.0023775558725630053, 'mean_word_length': 4.860724233983287, '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 Perspective Optimal Shadow Maps

Shadow mapping is perhaps the most pervasive method for creating convincing shadows in computer graphics. However, because it is an image-space algorithm it must contend with aliasing issues caused by finite and discrete sampling. This exposition differs from previous work on shadow maps in that it pinpoints the one remaining degree of freedom in the shadow mapping process – the angle of the film plane at the light – and uses this understanding to develop a framework for categorizing the effects of film plane angle change on the sampling pattern in pixel space, allowing a quantitative analysis of how to exploit this degree of freedom in mitigating the aliasing problem. This presentation focuses on making a thorough study of the implications for the flatland, or two-dimensional world, case. In the 2D world, our algorithm can always find the optimal setting of the light plane, consistently providing factors of 2-3 improvement over previous methods. Because no a priori assumptions can be made about a dynamically changing scene in a real-time context, an initial low-resolution rendering pass is required to allow informed decisions to be made. The rest of the algorithm can be broken up into two parts: 1. deciding the optimal angle for a single light frustum – given a perpixel measure of sampling “badness” for some initial setting of the light’s film plane, we can parameterize by angular offset the sampling error that would be incurred through use of a different film plane orientation. This allows us to solve for the optimal angle using standard calculus techniques. 2. splitting the light frustum – we greedily partition the light hull into smaller light frusta and allocate resolutional resources so as to minimize the sum total of the error metric over the multiple frusta. Another benefit of understanding the degree of freedom as light plane angle is that shadow map rendering can be computed as “normal” without having to deal with the complexities of first moving into a different projective space as suggested by some previous work.