Depth Buffer Occlusion Culling Using Slope-Based Primitive Tests
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Measurement precision
If per-pixel depth tests are performed to resolve occlusion ambiguity, then occlusion analysis accuracy is improved, but processing time increases
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.
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
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.
Data Source
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.


