Tile-Based Graphics Processing With Bounding Box Hierarchies
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing tile-based graphics processors face inefficiencies in processing primitives due to unnecessary rendering of primitives not present in a region, leading to suboptimal performance.
Innovation Solution
A method and processor that generate a hierarchy of bounding boxes to identify primitives for rendering, using a first pass to build bounding box hierarchies and a second pass to determine which primitives to process for each rendering tile, optimizing primitive sorting and reducing unnecessary processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If tile-based rendering divides the render output into smaller tiles and processes them separately, then memory bandwidth is reduced and rendering is optimized for localized areas, but the complexity of managing multiple tiles and their corresponding primitive lists increases
Solution Approach 1:
The render output is divided into multiple smaller tiles, and primitives are sorted into tile-specific primitive lists. This segmentation allows the rendering system to process only the relevant tiles containing primitives, reducing memory bandwidth consumption and improving rendering performance for localized areas.
Solution Approach 2:
The patent introduces a hierarchical organization of primitive lists with multiple levels (level 0, level 1, etc.), adding a dimensional structure to the primitive data organization. This hierarchical dimension allows efficient filtering and traversal to identify which primitives are relevant to each tile, managing the complexity of tile-based rendering through structured data organization.
2Reliability
If all primitives are processed for every tile to ensure completeness, then no primitives are missed, but unnecessary rendering of primitives not present in a region occurs, reducing efficiency
Solution Approach 1:
The patent performs preliminary sorting of primitives into tile-specific primitive lists before the actual rendering process. By pre-organizing primitives according to their spatial distribution across tiles, the system can quickly identify which primitives are relevant to each tile during rendering, avoiding unnecessary processing of primitives not present in a region while ensuring completeness.
Solution Approach 2:
The rendering system dynamically traverses the hierarchical primitive lists and selectively processes only those primitives that are relevant to each tile being rendered. This dynamic filtering approach maintains rendering completeness by ensuring all relevant primitives are processed while improving efficiency by avoiding unnecessary processing of irrelevant primitives.
Data Source
AI summary
A tile-based graphics processor that generates and traverses a hierarchy of bounding boxes is disclosed. A hierarchy of bounding boxes is generated by generating group bounding boxes that bound respective groups of primitives. Primitives are added to the groups by selecting a group to add a primitive to based on a comparison of a position of the primitive with a position of any group currently under construction.


