Frustum Rendering for Shadow Map Memory Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In 3D graphics processing, the generation and storage of large shadow maps require significant memory and processing power, leading to high memory bandwidth consumption and power usage, which hinders GPU performance and efficiency.
Innovation Solution
A tile-based graphics processing system that tiles a scene into subsets of tiles based on a frustum model and object primitives, allowing only relevant tiles to be rendered and stored as a shadow map, reducing memory allocation and processing overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If high resolution shadow maps are generated and stored, then shadow quality is improved, but memory usage and memory bandwidth consumption increase significantly
Solution Approach 1:
The shadow map is divided into multiple tiles, each representing a portion of the light's view frustum. Only tiles containing shadow-casting objects are rendered and stored, while empty tiles are omitted. This segmentation allows high-resolution shadow maps to be generated with reduced memory usage by excluding unnecessary tile data.
2Measurement precision
If high resolution shadow maps are generated, then shadow quality is improved, but processing power and time consumption increase
Solution Approach 1:
The system extracts and identifies only the relevant tiles from the light's view frustum that contain shadow-casting objects using frustum culling and tile identification techniques. By taking out only the necessary tiles for rendering, the system maintains high shadow quality while reducing processing time and computational overhead associated with rendering entire high-resolution shadow maps.
3Measurement precision
If large textures are allocated for shadow maps, then shadow rendering quality is improved, but available memory for other applications decreases
Solution Approach 1:
Instead of uniformly allocating memory for the entire shadow map, the system applies local quality by allocating memory only for specific tiles that contain shadow-casting objects. Each tile receives high-resolution treatment where needed, while empty regions consume no memory. This approach maintains high shadow rendering quality in relevant areas while significantly improving memory availability for other applications.
4Use of energy by moving object
If data transfer between GPU and memory is reduced, then power consumption decreases, but shadow map resolution may be compromised
Solution Approach 1:
The system performs preliminary identification of tiles containing shadow-casting objects before rendering the shadow map. By pre-processing the scene to determine which tiles are relevant, the system can transfer only the necessary tile data between GPU and memory, reducing power consumption while maintaining high shadow map resolution for the identified relevant tiles.
Data Source
Figure 1
Figure 2a~2b
Figure 2c~2d
AI summary
A graphics processing system for generating a render output for use in a subsequent render comprising: a tiling unit configured to tile a first view of a scene into a plurality of tiles; a processing unit configured to identify a first subset of the tiles that are associated with regions of the scene that are viewable in a second view, the second view being a point of view of the subsequent render, and wherein the first subset of tiles are identified in dependence on a frustum model comprising primitives representing a view frustum of the second view; and a rendering unit configured to render to a render output each of the identified tiles.