Sort-Top Tiled Rendering with Frustum Queries
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing tiled rendering systems require significant resources and processing time due to the need to pass and recalculate geometry data between geometry engines and rasterization engines, leading to inefficiencies in rendering graphics objects across tiles.
Innovation Solution
Implementing sort-top tiled rendering using acceleration structures with frustum queries, where each graphics core assigned to a tile performs independent rasterization and rendering without sharing vertex or geometry data, utilizing bounding volume hierarchies to determine which graphics objects are within the tile's frustum.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If geometry data is passed from geometry engines to rasterization engines in tiled rendering, then each rasterization engine can determine which graphics objects to rasterize within its assigned tile, but the resources needed to rasterize graphics objects and the processing time increase
Solution Approach 1:
The patent divides the screen space into multiple independent tiles, with each tile assigned to a specific rasterization engine. Each engine performs frustum queries independently using an acceleration structure to determine which graphics objects are visible in its assigned tile, eliminating the need to share geometry data between engines and enabling parallel processing without data dependency bottlenecks.
Solution Approach 2:
The patent pre-computes an acceleration structure (such as a bounding volume hierarchy) that organizes graphics objects in the scene before rendering. This acceleration structure allows rasterization engines to quickly determine visible objects through frustum queries without needing to process or share raw geometry data, performing the culling operation in advance and efficiently.
2Ease of operation
If geometry data is redistributed from geometry engines to respective rasterization engines for each tile, then each engine can independently determine graphics objects to rasterize, but the processing time and resources increase due to data passing and recalculation
Solution Approach 1:
Instead of passing and redistributing geometry data between engines, the patent creates a shared acceleration structure that contains hierarchical bounding volume information about all graphics objects in the scene. Each rasterization engine copies or queries this pre-computed structure independently to determine visible objects, avoiding the time-consuming process of data redistribution and recalculation while maintaining independent operation.
3Adaptability or versatility
If sort-middle rasterization is used with geometry engines computing vertex positions and redistributing geometry data, then graphics objects can be rendered across multiple tiles, but the resources needed and processing time increase
Solution Approach 1:
The patent replaces the traditional sort-middle rasterization mechanism that requires geometry data computation and redistribution with a frustum query-based approach using an acceleration structure. Instead of mechanically passing geometry data between engines, the system uses hierarchical bounding volume queries to determine object visibility, significantly reducing computational resources while maintaining the ability to render graphics objects across multiple tiles.
Data Source
AI summary
To render a scene in a display space, a processor is configured to perform sort-top tiled rendering. To this end, the processor is configured to divide a display space into two or more tiles and assign each tile to a respective graphics core of the processor. Further, the processor is configured to divide a viewport of the scene into corresponding frustums each representing a portion of the viewport in a respective tile. Using a corresponding frustum associated with an assigned tile, each graphics core performs one or more frustum queries to determine one or more graphics objects in a tile to rasterize, one or more draw calls to perform for a tile, or both.


