Multi-pass rendering in screen space pipeline

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional graphics processing units (GPUs) face inefficiencies when rendering graphics scenes with occluded geometry, as they require redundant operations, leading to increased power consumption and processing overhead, particularly in mobile devices with limited resources.

Innovation Solution

A graphics subsystem with a screen space pipeline configured to process graphics primitives in multiple passes, utilizing a multi-pass unit that buffers primitives for Z passes and subsequent color shading, reducing the need to re-fetch data from memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If a Z pre-pass operation is performed to identify occluded pixels, then shading operations for occluded geometry are avoided, but the entire 3D scene must be rendered twice resulting in additional processing overhead

Engineering Contradiction:
Improvepower consumptionVSAvoidprocessing overhead
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The rendering process is segmented into multiple passes where different portions of the scene are processed in separate iterations. The patent implements a multi-pass rendering system that processes the scene in at least two passes: a first pass that renders geometry and a second pass that performs shading operations. This segmentation allows the system to avoid redundant work by using depth information from the first pass to determine which shading operations are necessary in the second pass, thereby reducing overall processing overhead and power consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first pass of rendering performs preliminary actions by rendering geometry and writing depth information to a depth buffer before shading operations are performed. This preliminary rendering of depth data allows subsequent shading operations to skip occluded geometry, avoiding unnecessary computations. The depth buffer stores depth information that enables the shading pass to identify and skip pixels that would be occluded by foreground geometry, thus performing necessary shading operations only where needed.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If vertex attribute fetch operations are performed for Z pre-pass and subsequent shading pass, then complete rendering is achieved, but memory bandwidth is consumed and power consumption increases

Engineering Contradiction:
Improverendering completenessVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent uses a depth buffer that copies depth information from the first pass rendering into a storage structure that can be accessed during the second shading pass. This copying of depth data eliminates the need to re-fetch vertex attribute data from memory for the shading operations, as the depth information is already available in the depth buffer. This approach maintains rendering completeness while significantly reducing memory bandwidth consumption and associated power consumption.

Inventive Principle:
Principle #26Copying

3Manufacturing precision

If the entire scene is rendered twice for Z pre-pass and shading pass, then occluded geometry is properly handled, but processing cycles are increased

Engineering Contradiction:
Improveocclusion handling accuracyVSAvoidprocessing cycles
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent maintains continuity of useful action by ensuring that the depth buffer written in the first pass is directly utilized in the second shading pass without requiring complete re-rendering. The multi-pass system continues the rendering workflow smoothly, where the output of the first pass (depth buffer) becomes the input for the second pass, eliminating redundant processing. This continuous utilization of rendering results maintains occlusion handling accuracy while reducing the total processing cycles required compared to independent double rendering.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10430989B2Multi-pass rendering in a screen space pipeline
Publication Date: 2019.10.01 NVIDIA CORP
  • US10430989B2 patent drawing
  • US10430989B2 patent drawing
  • US10430989B2 patent drawing

AI summary

A multi-pass unit interoperates with a device driver to configure a screen space pipeline to perform multiple processing passes with buffered graphics primitives. The multi-pass unit receives primitive data and state bundles from the device driver. The primitive data includes a graphics primitive and a primitive mask. The primitive mask indicates the specific passes when the graphics primitive should be processed. The state bundles include one or more state settings and a state mask. The state mask indicates the specific passes where the state settings should be applied. The primitives and state settings are interleaved. For a given pass, the multi-pass unit extracts the interleaved state settings for that pass and configures the screen space pipeline according to those state settings. The multi-pass unit also extracts the interleaved graphics primitives to be processed in that pass. Then, the multi-pass unit causes the screen space pipeline to process those graphics primitives.