Dual Depth Peeling for Order-Independent Transparency Blending

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for rendering graphics images with semitransparent geometric primitives are computationally expensive due to the need for multiple rendering passes in depth peeling, which can significantly diminish system performance and frame rate.

Innovation Solution

The method performs depth peeling in two directions simultaneously using dual depth texture buffers and modified color blending, reducing the number of rendering passes from L to 1+L/2 by sorting pixels based on reference and active depths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If depth peeling performs N rendering passes to establish blending order of semitransparent pixels, then correct transparency results are generated, but computational expense increases and frame rate diminishes

Engineering Contradiction:
Improvetransparency rendering accuracyVSAvoidframe rate
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent segments the depth peeling process into two independent directions (front-to-back and back-to-front), allowing simultaneous execution of multiple rendering passes. Each direction processes pixel fragments independently, dividing the computational workload and enabling parallel processing to maintain accuracy while improving frame rate

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a temporal dimension by performing depth peeling in two directions simultaneously across multiple rendering passes. By alternating between front-to-back and back-to-front processing in successive passes, the system achieves correct transparency blending while reducing the total number of passes required compared to traditional sequential depth peeling

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

2Reliability

If multiple rendering passes are performed for depth peeling, then correct blending order is established, but system performance diminishes

Engineering Contradiction:
Improveblending order correctnessVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSPower

Solution Approach 1:

The patent segments the rendering passes into two distinct directions (front-to-back and back-to-front), each handling specific pixel fragments. This segmentation allows the system to process different portions of the scene in parallel, maintaining correct blending order while distributing computational load to preserve system performance

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically alternates between front-to-back and back-to-front rendering passes, adapting the processing direction based on the current state of depth buffers and pixel fragments. This dynamic approach optimizes resource utilization and maintains correctness by selectively processing fragments that require specific blending orders

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8094152B1Method for depth peeling and blending
Publication Date: 2012.01.10 NVIDIA CORP
  • US8094152B1 patent drawing
  • US8094152B1 patent drawing
  • US8094152B1 patent drawing

AI summary

One embodiment of the present invention sets forth a technique for performing dual depth peeling, which is useful for order-independent transparency blending. Multiple rendering passes are performed on a graphics scene. After each rendering pass, the front-most and back-most layer of pixels are peeled away by computing a reference window. In subsequent rendering passes, only pixels within the reference window survive depth sorting. In each subsequent rendering pass, the reference window is narrowed by the front most and back most surviving pixels. By performing depth peeling in two directions simultaneously, the number of rendering passes needed to generate a completed graphics image is reduced from L to 1+L/2, which results in improved rendering performance.