Depth Buffer Occlusion Culling Using Slope-Based Primitive Tests

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing GPU pipeline faces inefficiencies in occlusion analysis due to ambiguous results from HiZ tests, leading to computationally intensive per-pixel depth tests, which consume bandwidth and gate resources.

Innovation Solution

Implement slope-based occlusion analysis to determine if a source primitive is fully occluded by comparing its slopes with those of a destination primitive, reducing the need for per-pixel depth testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If per-pixel depth tests are performed to resolve occlusion ambiguity, then occlusion analysis accuracy is improved, but computational complexity and resource consumption increase

Engineering Contradiction:
Improveocclusion analysis accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the depth buffer into multiple tiles, where each tile is processed independently for occlusion analysis. This segmentation allows the system to perform slope-based occlusion culling on a per-tile basis rather than globally, reducing the computational complexity while maintaining occlusion analysis accuracy for each segment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies slope-based occlusion culling as a preliminary test that partially resolves occlusion ambiguity before performing full per-pixel depth tests. By using slope comparisons to determine whether fragments are definitely occluded or definitely visible, the system avoids unnecessary per-pixel depth tests for many fragments, thus reducing computational complexity while maintaining accuracy for cases where the slope test is inconclusive.

Inventive Principle:
Principle #16Partial or excessive action

2Measurement precision

If per-pixel depth tests are performed to resolve occlusion ambiguity, then occlusion analysis accuracy is improved, but processing time increases

Engineering Contradiction:
Improveocclusion analysis accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs slope-based occlusion culling as a preliminary action before executing per-pixel depth tests. By first comparing the slopes of source and destination primitives, the system can determine in advance whether fragments are definitely occluded or visible, eliminating the need for time-consuming per-pixel depth tests in many cases while maintaining accuracy when the slope test is inconclusive.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If slope-based occlusion analysis is used to reduce per-pixel depth tests, then processing speed is improved, but occlusion analysis accuracy may deteriorate

Engineering Contradiction:
Improverendering efficiencyVSAvoidocclusion analysis accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent uses slope comparison as an intermediary test between the rasterizer and the depth buffer. The slope-based occlusion culling acts as a mediator that quickly determines obvious occlusion cases without requiring full per-pixel depth testing. When the slope test provides an unambiguous result, rendering efficiency is improved; when the result is ambiguous, the system falls back to per-pixel depth testing to maintain occlusion analysis accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250265772A1Occlusion culling for depth values in a depth buffer
Publication Date: 2025.08.21 INTEL CORP
  • US20250265772A1 patent drawing
  • US20250265772A1 patent drawing
  • US20250265772A1 patent drawing

AI summary

A system that includes a graphics processing unit (GPU) to determine whether the second primitive is potentially occluded, fully occluded, or not occluded by the first primitive based on a comparison of the minimum depth value of the first primitive and the maximum depth value of the second primitive and a comparison of the depth slope data of the first primitive and the depth slope data of the second primitive. Based on a determination the second primitive is fully occluded by the first primitive, the GPU is to exclude the second primitive from rendering.