Hierarchical Bin Storage for Graphics Primitives
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Tile-based deferred rendering techniques face substantial memory requirements for storing primitive information, especially when dealing with large primitives, as they need to store lists of primitives for each tile, which can quickly consume video graphics memory.
Innovation Solution
The use of hierarchically arranged bins to store primitive information, where a primitive is stored in multiple levels of the hierarchy if it completely covers the area of a bin and is not listed in any larger bins, reducing memory requirements to be proportional to the width or height of the primitive multiplied by the log of its dimensions, rather than its area.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If primitive information is stored for each tile that a primitive intersects, then complete primitive coverage is achieved, but memory requirements become substantial
Solution Approach 1:
The patent divides the screen space into a hierarchical structure of bins at multiple levels. Instead of storing primitives for every tile, the screen is segmented into coarse bins at higher levels and fine bins at lower levels. Primitives are stored only in bins where they completely cover the bin area, leveraging the hierarchical segmentation to reduce redundancy.
Solution Approach 2:
The patent implements a nested hierarchical structure where bins at level N are contained within bins at level N-1. Each bin at a higher level contains multiple bins at the next level, creating a nested doll-like structure. This nesting allows primitives to be stored at the coarsest level possible, avoiding duplication across multiple finer levels.
2Quantity of substance
If conventional techniques reduce memory requirements, then storage efficiency improves, but additional processing is required when reading primitive lists
Solution Approach 1:
The patent applies different storage strategies to different regions of the hierarchical structure. Bins store primitives only when the primitive completely covers the bin area, creating a local quality rule that varies by bin. This local approach simplifies the retrieval process compared to global conventional techniques, as each bin independently determines what to store based on its own coverage criteria.
3Quantity of substance
If memory requirements are reduced by storing primitives at multiple hierarchy levels, then storage efficiency improves, but traversal complexity may increase
Solution Approach 1:
The patent performs preliminary organization of primitives into the hierarchical bin structure during the rendering preparation phase. By pre-sorting and placing primitives in the appropriate bins based on complete coverage, the system eliminates the need for complex runtime traversal. When rendering a tile, the system only needs to check the specific bin corresponding to that tile's region, rather than traversing multiple hierarchy levels during rasterization.
Data Source
AI summary
Techniques are disclosed relating to storing primitive information for tile-based graphics rendering. In some embodiments, primitive information is stored using hierarchically arranged bins. In some embodiments, information for a given primitive may be stored at multiple levels in the hierarchy. For example, in some embodiments a graphics processor is configured to store primitive information for a primitive in a particular bin if the primitive (1) completely covers the area in screen space corresponding to the particular bin and (2) the primitive is not listed in any bins that correspond to a larger area that includes the area corresponding to the particular bin. This may reduce memory requirements because the memory needed for each primitive may be proportional to the width (or height) of the primitive multiplied by the log of the width (or height), rather than the area of the primitive.


