Graphics Processor Two-Stage Rendering 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 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 two-stage rendering process with a pre-pass operation to determine visibility information for primitives, allowing for optimal hidden surface removal by processing primitives in two separate passes and switching to a fallback mode for incompatible primitives, thereby reducing redundant rendering and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If primitives are processed sequentially in traditional rendering order, then the rendering pipeline can process all primitives without interruption, but redundant rendering operations occur leading to overdraw and increased memory bandwidth requirements

Engineering Contradiction:
Improverendering efficiencyVSAvoidmemory bandwidth consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The rendering process is segmented into two distinct passes: a first pass that processes all primitives to generate visibility information, and a second pass that uses this visibility information to cull invisible fragments. This segmentation allows the system to identify and eliminate redundant rendering operations by separating the visibility determination phase from the actual rendering execution phase.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first pass performs preliminary action by processing all primitives in advance to generate visibility information before the actual rendering occurs. This preliminary computation of which fragments are visible allows the second pass to efficiently cull invisible fragments, preventing redundant rendering operations and reducing memory bandwidth consumption.

Inventive Principle:
Principle #10Preliminary action

2Loss of energy

If existing hidden surface removal techniques are used to reduce overdraw, then some redundant rendering can be eliminated, but they struggle to fully address the problem in complex scenes

Engineering Contradiction:
Improveredundant rendering operationsVSAvoidhidden surface removal effectiveness
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The system implements feedback by using the visibility information generated in the first pass to control the rendering operations in the second pass. The visibility information acts as feedback that guides which fragments should be rendered and which can be safely culled, creating a closed-loop system that continuously optimizes rendering efficiency based on the actual scene content.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The first pass creates a copy of the rendering process that focuses solely on generating visibility information without producing final output. This copying of the rendering pipeline for the purpose of information gathering allows the system to determine visibility relationships without committing to the full rendering operation, enabling more effective hidden surface removal in complex scenes.

Inventive Principle:
Principle #26Copying

3Manufacturing precision

If a two-stage rendering process with pre-pass operation is implemented, then sample-perfect hidden surface removal is achieved, but additional processing time is required

Engineering Contradiction:
Improvehidden surface removal accuracyVSAvoidprocessing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The rendering process is divided into two temporal segments: a first pass for visibility determination and a second pass for actual rendering with culling. This segmentation allows the system to achieve sample-perfect hidden surface removal by ensuring all visibility information is computed before rendering, eliminating the need for iterative refinement or complex real-time adjustments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The second pass applies local quality optimization by selectively rendering only the visible fragments identified in the first pass. Instead of uniformly processing all fragments, the system applies different treatment based on local visibility characteristics, rendering visible fragments with full quality while skipping invisible ones, thus achieving high accuracy without unnecessary processing time.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20240169646A1Graphics processors
Publication Date: 2024.05.23 ARM LTD
  • US20240169646A1 patent drawing
  • US20240169646A1 patent drawing
  • US20240169646A1 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 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. The first, pre-pass can be stopped to process primitives in a fail-safe manner if necessary.