Tile-Based Path Rendering Using Winding Number Calculation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for path rendering on graphics processing units (GPUs) face challenges in acceleration performance due to the need to configure input data as triangles, leading to high CPU usage and limited parallel processing capabilities, especially with stencil-based methods that generate excessive memory data input/output.

Innovation Solution

A method and apparatus that calculate a winding number for each pixel in a frame based on path data, determining whether to perform shading, allowing for efficient rendering by dividing images into tiles and assigning winding numbers to pixels within those tiles, thereby improving GPU performance without relying on the stencil buffer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If stencil-based path rendering method is used, then path rendering can be performed on GPU, but excessive memory data input/output is generated and parallel processing capability is limited

Engineering Contradiction:
Improvepath rendering performanceVSAvoidmemory data input/output
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The image is divided into multiple tiles, and winding numbers are calculated independently for each tile. This segmentation allows parallel processing of different tiles simultaneously, reducing memory bandwidth requirements and improving rendering performance without excessive data input/output.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the rendering approach from stencil buffer-based to winding number-based calculation. By computing winding numbers directly for each pixel in parallel and using them to determine shading, the method eliminates the need for excessive stencil buffer operations and associated memory traffic.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If CPU divides curve into triangles and instructs GPU, then path rendering is achieved, but a lot of time is consumed by CPU and GPU state changes occur frequently

Engineering Contradiction:
Improvepath rendering capabilityVSAvoidCPU processing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent replaces the traditional CPU-based triangle subdivision approach with a GPU-based winding number calculation approach. The GPU directly computes winding numbers for pixels based on path data, eliminating the need for CPU preprocessing and reducing CPU-GPU communication overhead.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent performs preliminary calculations of winding numbers directly on the GPU using the given path data, avoiding the need for subsequent CPU-based triangle subdivision and rendering state changes. This preliminary action on the GPU transfers more work to the rendering device, reducing CPU burden.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11694393B2Method and apparatus for performing tile-based path rendering
Publication Date: 2023.07.04 SAMSUNG ELECTRONICS CO LTD
  • US11694393B2 patent drawing
  • US11694393B2 patent drawing
  • US11694393B2 patent drawing

AI summary

A method of rendering at least one of paths forming an object includes setting an initial value to each of tiles included in a frame based on a position and a proceeding direction of the at least one of paths, calculating a winding number of each of the tiles through which the at least one of paths passes, among the tiles included in the frame, based on the set initial value, and determining whether to perform shading based on the set initial value and the calculated winding number.