Hierarchical Tile-Based Rasterization for 3D Graphics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing equation-based rasterization algorithms lack optimization and specific hardware implementations, particularly for rasterizing polygons and lines in 3D Z-buffered graphics, and do not effectively utilize hardware for parallel processing.
Innovation Solution
A hierarchical tile-based rasterization algorithm that optimizes performance and locality by validating pixels in hierarchical rectangles or blocks in parallel, breaking them down into subtiles and quads, and rendering valid quads, with hardware implementation for improved memory utilization and throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional edge-walking algorithms are used for rasterization, then the algorithm is simple to implement, but the rendering performance and throughput are insufficient
Solution Approach 1:
The patent divides the rasterization process into hierarchical levels (super-supertiles, supertiles, tiles, quads) where each level processes smaller regions independently. This segmentation enables parallel processing across multiple hierarchy levels simultaneously, dramatically improving rendering throughput while maintaining manageable complexity through modular organization of the rendering pipeline.
Solution Approach 2:
The patent introduces a hierarchical dimension to the traditional 2D tile-based approach by creating multiple levels of abstraction (super-supertile → supertile → tile → quad). This dimensional extension allows parallel processing at each hierarchy level, transforming a single-threaded sequential approach into a multi-level parallel architecture that achieves high throughput without excessive complexity.
2Productivity
If hierarchical tile-based validation is performed in parallel, then memory efficiency and throughput are improved, but the device complexity increases
Solution Approach 1:
The validation process is segmented into four distinct hierarchical levels (super-supertiles, supertiles, tiles, quads), each with its own validation logic and processing units. This segmentation allows independent parallel validation at each level, improving throughput while keeping individual validation units relatively simple and modular.
Solution Approach 2:
The patent implements a nested hierarchical structure where super-supertiles contain supertiles, which contain tiles, which contain quads. Each nested level performs validation on its contained regions, allowing parallel execution across the nesting hierarchy. This nested approach enables sophisticated parallel processing while reusing validation logic across multiple levels, managing hardware complexity through systematic reuse.
3Productivity
If equation-based rasterization is used, then the algorithm is general purpose, but it lacks optimization and specific hardware implementation
Solution Approach 1:
The patent performs preliminary actions by pre-calculating and storing edge equations, minimum and maximum coordinates, and validity information at each hierarchical level before actual pixel rendering. This preliminary processing at super-supertile, supertile, and tile levels eliminates redundant calculations during pixel generation, dramatically improving rendering speed while organizing the complexity into manageable pre-processing and execution phases.
Solution Approach 2:
The patent transforms the general equation-based approach into an optimized implementation by changing parameters from processing individual pixels to processing hierarchical blocks (tiles and quads). It introduces parameters such as tile validity bits, quad coverage masks, and hierarchical coordinates that enable vectorized and parallel processing, achieving high rendering speed while maintaining systematic implementability through parameterized algorithms.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A hierarchical tile-based rasterization method is disclosed. The inventive rasterization algorithm rasterizes pixels in hierarchical rectangles or blocks. The method includes: walking a plurality of tiles of pixels and determining if each tile is valid; breaking each valid tile into a plurality of subtiles and determining if each subtile is valid; breaking each valid subtile into a plurality of quads and determining if each quad is valid; and rendering pixels for each valid quad. These hierarchical levels of block validations are performed in parallel. The inventive rasterization algorithm is further implemented in hardware for better performance.