GPU Artwork Clipping and Culling via Depth Stencil Buffers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Rendering complex two-dimensional artwork on computer systems requires numerous time-consuming clipping and culling operations, which can be inefficient due to the need for atomic operations on every object, regardless of size.

Innovation Solution

The system automatically groups artwork objects using batch early engagement rules and performs culling and clipping operations using a graphics processing unit (GPU), configuring the depth buffer to reject pixels outside dirty regions and the stencil buffer to reject pixels outside clip paths, thereby reducing the number of necessary operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional CPU-based clipping and culling operations are performed on every artwork object, then rendering accuracy is maintained, but rendering time and computational complexity increase significantly

Engineering Contradiction:
Improverendering accuracyVSAvoidrendering time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the rendering process by separating clipping and culling operations from the main rendering pipeline. Artwork objects are pre-processed to determine which ones fall within the visible viewport and clip paths before being sent to the renderer, dividing the work between CPU (culling) and GPU (rendering)

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by performing culling operations before rendering. The system calculates which artwork objects are visible within the viewport and clip paths in advance, eliminating invisible objects from the rendering process to save computational time

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If clipping and culling operations are performed on every individual artwork object, then rendering precision is maintained, but device complexity and processing overhead increase

Engineering Contradiction:
Improveclipping precisionVSAvoidprocessing complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent merges multiple clipping and culling operations into a unified process. Instead of separately handling clip paths, viewports, and object bounds for each artwork object, the system combines these into a single visibility determination step that checks whether artwork bounding boxes intersect with the visible region

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If all artwork objects are processed through clipping operations, then visual accuracy is maintained, but productivity and rendering throughput decrease

Engineering Contradiction:
Improvevisual accuracyVSAvoidrendering throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts and removes invisible artwork objects from the processing pipeline before rendering. By calculating which objects fall outside the viewport or clip paths and excluding them from rendering, the system maintains visual accuracy for visible objects while improving overall rendering throughput

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7847798B1Clipping and culling artwork using a graphics processing unit
Publication Date: 2010.12.07 ADOBE INC
  • US7847798B1 patent drawing
  • US7847798B1 patent drawing
  • US7847798B1 patent drawing

AI summary

A method, system, and computer-readable storage medium are disclosed for rendering artwork using a graphics processing unit (GPU). The GPU may comprise a depth buffer and a stencil buffer. Artwork input comprising one or more dirty regions and one or more clip paths may be received at the GPU. A culling operation may be performed on the artwork input. The culling operation may comprise configuring the depth buffer to reject pixels located outside a union of the one or more dirty regions. A clipping operation may be performed on the artwork input. The clipping operation may comprise configuring the stencil buffer to reject pixels located outside an intersection of the one or more clip paths.