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.

Innovation Solution

Implementing a two-pass processing approach where a pre-pass operation determines visibility information for primitives, allowing for efficient identification and culling of non-visible fragments, and a main pass performs actual rendering based on this information, using a set of primitive identifying information to control fragment processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If primitives are processed sequentially in a single pass, then the rendering pipeline is simple, but redundant rendering operations occur causing overdraw

Engineering Contradiction:
Improverendering pipeline complexityVSAvoidgraphics processing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The rendering process is segmented into two distinct passes: a visibility determination pass that identifies visible fragments, and a rendering pass that processes only visible fragments. This segmentation eliminates redundant rendering operations by separating the culling decision-making from the actual rendering, thereby resolving the contradiction between pipeline simplicity and processing efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The visibility determination pass performs preliminary action by pre-calculating which fragments are visible before the actual rendering occurs. This preliminary identification of visible fragments allows the subsequent rendering pass to focus only on necessary operations, eliminating overdraw and improving processing efficiency without significantly increasing overall system complexity.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If all fragments are rendered regardless of visibility, then rendering is straightforward, but memory bandwidth requirements increase

Engineering Contradiction:
Improverendering operation simplicityVSAvoidmemory bandwidth consumption
Core Design Contradiction:
Ease of manufactureVSLoss of energy

Solution Approach 1:

The visibility determination pass extracts and identifies only the necessary rendering information (visible fragments) before the rendering process. By taking out the culling decision-making step and performing it separately, the system can then transfer memory bandwidth only for visible fragments in the rendering pass, significantly reducing unnecessary memory bandwidth consumption while keeping the rendering operation itself simple.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The preliminary visibility determination pass performs the action of identifying which fragments need to be rendered before actual rendering occurs. This preliminary filtering allows the rendering system to minimize memory bandwidth usage by only loading and processing data for visible fragments, rather than processing all fragments regardless of visibility.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If visibility information is determined for all sampling positions, then accurate hidden surface removal is achieved, but processing time increases

Engineering Contradiction:
Improvevisibility determination accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The processing is segmented into two passes where the first pass determines visibility for all sampling positions to achieve accurate hidden surface removal, while the second pass efficiently processes only visible fragments. This segmentation allows the system to invest computational resources in accurate visibility determination where needed, while avoiding the time cost of processing invisible fragments, thus balancing precision and time efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first pass performs preliminary visibility determination for all sampling positions to establish accurate hidden surface removal data. This preliminary action, while computationally intensive, is performed once and enables the second pass to proceed much more quickly by processing only the subset of visible fragments, thereby achieving both measurement precision and acceptable processing time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240169619A1Graphics processors
Publication Date: 2024.05.23 ARM LTD
  • US20240169619A1 patent drawing
  • US20240169619A1 patent drawing
  • US20240169619A1 patent drawing

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, the visibility information being usable to determine whether fragments for a primitive in the sequence should subsequently be processed further, 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.