Hierarchical Depth Data Generation via Primitive Fusion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing graphics processing systems face inefficiencies in rendering three-dimensional scenes due to the time-consuming process of generating depth values for pixel-based rendering, which increases the overall rendering time.
Innovation Solution
The system employs primitive fusion to generate hierarchical depth data, dividing the image into tiles and determining shared edges between primitives to fuse depth data, thereby reducing the time needed for pixel-based rendering.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If pixel-based rendering is performed to render primitives, then rendering quality is improved, but rendering time increases significantly
Solution Approach 1:
The system performs preliminary depth data generation during the tile-based rendering phase before pixel-based rendering. Depth values for all primitives are calculated and stored in advance, eliminating the need to generate depth data during the time-consuming pixel-based rendering phase. This preliminary action significantly reduces the overall rendering time while maintaining rendering quality.
Solution Approach 2:
The rendering process is divided into two distinct phases: tile-based rendering for generating depth data, and pixel-based rendering for final image output. By segmenting the rendering pipeline and preparing depth information in the first phase, the system optimizes the second phase to focus only on pixel processing, thereby reducing total rendering time without compromising quality.
2Measurement precision
If depth values are generated for each primitive during pixel-based rendering, then rendering accuracy is improved, but processing efficiency decreases
Solution Approach 1:
Depth values for all primitives are calculated and stored during the tile-based rendering phase before pixel-based rendering begins. This preliminary generation of depth data ensures accurate depth information is available when needed, while avoiding the time penalty of generating depth data during the pixel-based rendering phase, thus maintaining both accuracy and efficiency.
Solution Approach 2:
The system maintains continuous useful action by generating depth data during the tile-based rendering phase, which then serves the pixel-based rendering phase without interruption. This continuous preparation of depth information ensures that the pixel-based rendering can proceed efficiently with all necessary depth data already available, maintaining high processing efficiency throughout.
Data Source
AI summary
Concurrently with performing a visibility pass to generate visibility data for two or more bins of an image, a processing system determines whether a primitive to be rendered covers at least a predetermined threshold percentage of a tile of the image. In response to the primitive coving at least the predetermined threshold percentage of the tile, the processing system stores the depth data of the primitive in a depth buffer for pixel-based rendering. In response to the primitive not covering at least the predetermined threshold percentage of the tile, the processing system fuses the primitive with one or more preceding primitives sharing an edge with the primitive in the tile to generate a fused primitive. In response to the fused primitive being valid in the tile, the processing system passes the depth data of the fused primitive to the depth buffer.


