Graphics Processing Shadow Visibility via Light Source Bounding Frustums
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing graphics processing systems face inefficiencies in rendering shadows, particularly when dealing with multiple or area light sources, as techniques like shadow maps and shadow volumes require significant memory and bandwidth resources.
Innovation Solution
A method and apparatus that determine a light source visibility parameter for each sampling position by identifying geometry that could cast shadows and using bounding frustums to efficiently simulate shadow effects, reducing memory and bandwidth requirements while maintaining rendering quality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If shadow maps are used to render shadows, then shadow rendering quality is improved, but memory and bandwidth resources are significantly consumed
Solution Approach 1:
The scene is divided into multiple regions, and shadow rendering is performed independently for each region. This segmentation allows the system to process only relevant shadow information for each region, reducing the overall memory and bandwidth resources required compared to generating a complete shadow map for the entire scene.
Solution Approach 2:
The patent extracts only the necessary shadow information for each specific region rather than computing complete shadow maps. By taking out only the relevant shadow data needed for each region, the system significantly reduces memory consumption and bandwidth requirements while maintaining shadow rendering quality.
2Measurement precision
If shadow volumes are used to render shadows, then shadow rendering accuracy is improved, but device complexity and processing cost increase significantly
Solution Approach 1:
The shadow rendering process is segmented into region-specific operations. Instead of computing complex shadow volumes for the entire scene, the system divides the scene into regions and processes shadow information independently for each region, significantly reducing processing complexity while maintaining accuracy.
Solution Approach 2:
The patent applies local quality by computing shadow information with high accuracy only where needed (in each specific region) rather than uniformly across the entire scene. This approach maintains shadow rendering accuracy in critical areas while reducing overall processing complexity.
3Adaptability or versatility
If conventional shadow rendering techniques are used for multiple light sources, then shadow rendering completeness is improved, but memory and bandwidth resources are excessively consumed
Solution Approach 1:
The system segments shadow rendering by region and light source, processing only the shadow information relevant to each region-light source combination. This segmentation enables complete shadow rendering for multiple light sources while reducing memory and bandwidth resources by avoiding redundant computations across the entire scene.
Solution Approach 2:
The patent applies partial action by computing shadow information only for the necessary regions and light source combinations rather than performing exhaustive shadow map generation for all possible scenarios. This approach achieves shadow rendering completeness for multiple light sources without excessive resource consumption.
Data Source
AI summary
To simulate the effect of shadows in an image being rendered a light source bounding frustum is produced for a tile for a light source, and used to determine a set of geometry for the tile that could cast a shadow in the tile. The determined set of geometry is then used to determine a light source visibility parameter for each sampling position in the tile by determining for each tile screen space sampling position, whether rays cast between the tile sampling position and a set of sampling positions representing the light source would intersect occluding geometry or not. The determined number of visible light source sampling positions for each tile sampling position is used to determine a light source visibility parameter value for each tile sampling position, and the determined light source visibility parameters are then used to modulate the light source when shading the geometry.


