Graphics Processor Pre-Pass Visibility Culling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current graphics processing systems face inefficiencies due to 'overdraw' caused by processing primitives sequentially rather than in front-to-back order, leading to redundant rendering operations and increased memory bandwidth requirements, which existing hidden surface removal techniques struggle to fully address, especially in complex scenes.
Innovation Solution
Implementing a pre-pass operation in graphics processing that determines visibility information for primitives, allowing for the generation of a primitive culling data structure to identify and cull entirely occluded primitives, thereby reducing unnecessary processing in a subsequent main pass.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If primitives are processed sequentially in traditional rendering order, then the rendering pipeline can process all primitives without complex sorting, but redundant rendering operations occur leading to overdraw and increased memory bandwidth requirements
Solution Approach 1:
The patent applies preliminary action by performing a pre-pass operation before the main rendering pass to determine visibility information for all primitives. This pre-pass analyzes depth buffer data to identify which primitives are completely occluded by previously processed primitives, allowing the system to cull these invisible primitives before they enter the main rendering pipeline. This preliminary culling action eliminates redundant rendering operations and reduces energy consumption without compromising rendering correctness.
2Loss of energy
If hidden surface removal techniques are applied to reduce overdraw, then redundant rendering operations are reduced, but existing techniques struggle to fully address the problem in complex scenes
Solution Approach 1:
The patent implements feedback by using depth buffer information from previously processed primitives to determine visibility of subsequent primitives. The system continuously references the depth buffer state to make real-time decisions about which primitives can be culled, creating a feedback loop that adapts to the rendering context. This feedback mechanism ensures reliable hidden surface removal by basing culling decisions on actual depth data rather than speculative predictions.
3Productivity
If a pre-pass operation is implemented to determine visibility information, then redundant rendering operations are significantly reduced, but additional processing pass is required
Solution Approach 1:
The patent merges the visibility determination function into the existing fragment processing pipeline by combining depth buffer updates with fragment rendering operations. Rather than implementing a completely separate pre-pass system, the visibility information is gathered and processed within the existing fragment frontend architecture, merging multiple functions into a unified processing stream. This reduces the effective complexity increase while maintaining the benefits of preliminary culling.
Data Source
AI summary
When performing tile-based rendering a first, pre-pass operation in which primitives in a sequence of primitives for a tile are processed to determine visibility information for the sequence of primitives, the visibility information being usable to determine whether or not fragments for a primitive in the sequence of primitives should subsequently be processed further for the render output, is performed. Thereafter a second, main pass operation is performed in which the further processing of fragments for primitives that were processed during the first, pre-pass operation is controlled based on the determined visibility information for the sequence of primitives, such that for fragments for which the visibility information indicates that the fragments should not be processed further for the render output some or all of the processing during the second, main pass is omitted. A data structure is also built to allow entire primitives to be culled.


