Polar Stroking for Vector Graphics Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for stroking vector graphics are bottlenecked by CPU operations, requiring expensive CPU pre-processing and resulting in inefficient GPU rendering due to the need for combining rendering state and increased memory usage in GPU representations.

Innovation Solution

The method employs polar stroking, which involves evaluating path links based on tangent angle changes and generating a polar stroked representation, allowing for parallel processing and reduced memory requirements by using trigonometric functions efficiently on GPUs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If CPU-based pre-processing is used for GPU stroking methods, then stroking can be performed with GPU acceleration, but the system becomes bottlenecked by CPU operations and requires expensive CPU pre-processing

Engineering Contradiction:
ImproveGPU acceleration capabilityVSAvoidrendering speed
Core Design Contradiction:
PowerVSProductivity

Solution Approach 1:

The patent extracts the pre-processing step entirely from the CPU and performs it directly on the GPU using vertex shaders. The GPU computes polar stroking intermediates (tangent angles, arc lengths, curvature) directly from the path data during the rendering pipeline, eliminating the CPU bottleneck while maintaining GPU acceleration benefits

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces polar stroking intermediates as a new representation format that serves as an intermediary between the original path data and the final stroked output. These intermediates (containing tangent angles, arc lengths, and curvature information) enable the GPU to perform stroking operations efficiently without CPU pre-processing

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If CPU pre-processing combines rendering state into the path's GPU representation, then stroking can be performed, but the representation becomes expensive to change and takes substantially more memory to store

Engineering Contradiction:
Improverendering state integrationVSAvoidmemory usage
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent segments the stroking computation into distinct intermediate values (tangent angles, arc lengths, curvature) that are computed once and stored in a compact format. This segmented approach allows rendering state changes to be applied efficiently without regenerating entire path representations, reducing memory requirements while maintaining ease of operation

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter representation from traditional CPU-preprocessed GPU paths to polar stroking intermediates that store tangent angles, arc lengths, and curvature. This parameter transformation enables more efficient memory storage and faster updates when rendering state changes, as the intermediates can be regenerated from compact path data without full pre-processing

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If traditional stroking methods are used, then paths can be rendered, but complex paths and cusps require special handling and stroke integrity may be compromised during zooming and scaling

Engineering Contradiction:
Improvepath rendering capabilityVSAvoidstroke integrity
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent uses dynamic polar coordinate representation with tangent angles and arc lengths that adapt to the path geometry. This dynamic approach automatically handles complex paths and cusps by computing local properties at each segment, maintaining stroke integrity during zooming and scaling without requiring special case handling for different path types

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11769298B2Polar stroking for vector graphics
Publication Date: 2023.09.26 NVIDIA CORP
  • US11769298B2 patent drawing
  • US11769298B2 patent drawing
  • US11769298B2 patent drawing

AI summary

The disclosure introduces polar stroking for representing paths. A system, method, and apparatus are disclosed for representing and rendering stroked paths employing polar stroking. In one example, a method of approximating a path is provided that includes: (1) evaluating, in parallel, multiple links of a path, wherein each link of the multiple links is evaluated in steps based on tangent angle changes of the link, and (2) providing a polar stroked representation of the path employing the steps. A computing system for rendering is also provided. In one example, the computing system includes one or more processing units to perform one or more operations including generating, in parallel, a polar stroked representation of individual links of a path, and rendering a stroked tessellation of the path based on the polar stroked representations of the individual links.