Graphics Processor Two-Pass Visibility Culling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face inefficiencies due to 'overdraw' caused by processing primitives sequentially, leading to redundant rendering operations, which reduces frame rates and increases memory bandwidth requirements, especially in complex scenes where early hidden surface removal techniques are less effective.

Innovation Solution

Implementing a two-pass processing method where a pre-pass operation determines visibility information for primitives, generating a set of primitive identifying information that allows for efficient visibility testing during a main pass, enabling the graphics processor to render primitives in a way that avoids processing invisible fragments by subdividing the render output into patches and using unique primitive identifiers for each patch.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If primitives are processed sequentially using traditional rendering methods, then the rendering pipeline can process all primitives, but redundant rendering operations occur causing overdraw and reducing frame rates

Engineering Contradiction:
Improveframe rateVSAvoidredundant rendering operations
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent performs a pre-pass operation before the main rendering pass to determine visibility information for all primitives. This preliminary action identifies which primitives are visible and which are occluded, allowing the main pass to skip rendering of invisible fragments and avoid redundant overdraw operations, thereby improving frame rate and reducing energy waste.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the rendering process into two distinct passes: a pre-pass for visibility determination and a main pass for actual rendering. This segmentation allows the system to separate the culling function from the rendering function, enabling efficient hidden surface removal while maintaining rendering quality.

Inventive Principle:
Principle #1Segmentation

2Loss of energy

If early hidden surface removal techniques are used, then some invisible fragments can be identified, but effectiveness decreases in complex scenes with many overlapping primitives

Engineering Contradiction:
Improveinvisible fragment processingVSAvoidrendering performance in complex scenes
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The pre-pass operation performs comprehensive visibility determination before rendering, ensuring that even in complex scenes with many overlapping primitives, the system can accurately identify all invisible fragments. This preliminary visibility testing enables effective hidden surface removal without sacrificing rendering performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses visibility information determined in the pre-pass as feedback to control the main rendering pass. The visibility test results feed back into the rendering decision-making process, allowing the system to adaptively skip rendering of invisible fragments while maintaining accurate rendering of visible ones, even in complex scenes.

Inventive Principle:
Principle #23Feedback

3Reliability

If all sampling positions are processed to ensure complete rendering, then rendering completeness is maintained, but memory bandwidth requirements increase due to redundant data transfer

Engineering Contradiction:
Improverendering completenessVSAvoidmemory bandwidth
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The pre-pass operation preliminarily identifies which sampling positions correspond to visible primitives before the main rendering pass. This allows the system to transfer and process only the data needed for visible fragments, reducing memory bandwidth requirements while maintaining rendering completeness through the subsequent visibility-based culling in the main pass.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240169648A1Graphics processors
Publication Date: 2024.05.23 ARM LTD
  • US20240169648A1 patent drawing
  • US20240169648A1 patent drawing
  • US20240169648A1 patent drawing

AI summary

When performing tile-based rendering a first, pre-pass operation in which primitives for a tile are processed to determine visibility information, the visibility information being usable to determine whether 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. The visibility information indicates which primitives should be rendered for which sampling positions of the render output in a hierarchical manner.