Hierarchical Z-buffering for 3D Graphics Rendering Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems incur inefficiencies in rendering three-dimensional scenes due to late determination of visible objects, leading to unnecessary computations and prolonged rendering times, especially with overlapping objects and stencil occlusions.

Innovation Solution

Implementing a hierarchical Z-buffering and stencil technique that partitions the buffer into tiles, allowing for early determination of occlusions and stencil operations by comparing Z values and stencil values across tiles, thereby bypassing detail rasterization for fully covered tiles and employing compression to reduce memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If hierarchical Z-buffering operates on individual pixels, then depth accuracy is maintained, but computational load increases and rendering efficiency decreases

Engineering Contradiction:
Improvedepth accuracyVSAvoidrendering efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent divides the screen into multiple tiles, and further divides each tile into sub-tiles. This hierarchical segmentation allows depth testing to be performed at coarser levels first (tile level, then sub-tile level), reducing the number of individual pixel comparisons needed while maintaining sufficient depth accuracy for occlusion determination.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to the traditional Z-buffer by creating multiple levels of depth representation (full Z-buffer at pixel level, Hi-Z buffer at tile level, and sub-tile buffers). This multi-dimensional approach allows the system to query depth information at different granularities, balancing accuracy and performance.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Loss of information

If late-stage depth determination is performed after texture and color computation, then complete pixel information is available for rendering, but processing time increases and computational resources are wasted on invisible pixels

Engineering Contradiction:
Improvepixel information completenessVSAvoidrendering time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent performs preliminary depth testing using the Hi-Z buffer at the tile level before committing to full pixel rendering. By determining occlusion at the tile level first, the system can cull entire tiles from further processing, avoiding wasted computation on pixels that will ultimately be discarded.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The Hi-Z buffer serves as an intermediary data structure between the geometry processing stage and the pixel rendering stage. It provides a compressed representation of depth information that enables early occlusion culling without requiring complete pixel attribute computation, thus bridging the gap between early culling and accurate depth testing.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If full Z-buffer is maintained for all pixels, then depth testing accuracy is maximized, but memory usage increases

Engineering Contradiction:
Improvedepth testing accuracyVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent segments the full Z-buffer into tile-level Hi-Z buffers and sub-tile buffers, storing only essential depth information at each level. This hierarchical segmentation reduces overall memory requirements while maintaining depth testing capability through multi-level querying.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the necessary depth information (maximum Z values) at the tile level for the Hi-Z buffer, rather than storing complete per-pixel depth data. This extraction of essential information enables early occlusion culling with minimal memory overhead, and full precision is restored only when needed at the pixel level.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8184118B2Depth operations
Publication Date: 2012.05.22 ADVANCED MICRO DEVICES INC
  • US8184118B2 patent drawing
  • US8184118B2 patent drawing
  • US8184118B2 patent drawing

AI summary

Described are a video graphics system, graphics processor, and methods for rendering three-dimensional objects. A buffer is partitioned into tiles of pixels. Each pixel of each tile includes at least one sample. A primitive is received and determined to fully cover one of the tiles of the buffer. A section of the primitive that maps to the fully covered tile is tested to determine whether that section of the primitive may be drawn in its entirety. A value is stored in the buffer for the fully covered tile in response to determining that the section of the primitive may be drawn in its entirety. The value indicating that every sample of the fully covered tile has a depth value determined by the primitive.