Variable Opacity Stroke Rendering on Touchscreens

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing touchscreen devices fail to accurately render writing and drawing with tools like pencils, charcoal, and crayons, as they only provide solid-color pen-style ink effects, lacking the natural media experience and realism.

Innovation Solution

The implementation of variable opacity ink stroke rendering techniques, which convert touch input into arc and line segments, apply shading, and use multiple textures to simulate the feel of writing on paper, allowing for realistic representation of pencil strokes with varying opacity and texture.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If solid-color pen-style ink effect is used, then rendering performance is high and latency is low, but realism and natural media representation are poor

Engineering Contradiction:
Improverendering performanceVSAvoidrealism
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The stroke is divided into multiple segments with different opacity values along its path. Each segment can be rendered independently, allowing the system to maintain performance while creating variable opacity effects that simulate natural media like pencils and charcoal.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different portions of the stroke are assigned different opacity values and shading characteristics. The center of the stroke has higher opacity while edges have lower opacity, creating a realistic natural media appearance without requiring complete re-rendering of the entire stroke.

Inventive Principle:
Principle #3Local quality

2Manufacturing precision

If variable opacity rendering is implemented, then realism and natural media representation improve, but device complexity increases

Engineering Contradiction:
ImproverealismVSAvoidrendering complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

Opacity values and shading parameters are pre-calculated for each stroke segment during the input phase. This preliminary processing allows the rendering engine to simply apply pre-computed values rather than performing complex calculations in real-time, reducing runtime complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system varies opacity, weight, and offset parameters along the stroke path to simulate natural media. By controlling these parameters systematically rather than using complex textures or models, the invention achieves realism with manageable computational complexity.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If shading is applied to simulate natural media, then realism improves, but rendering time increases

Engineering Contradiction:
ImproverealismVSAvoidrendering time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

Shading is applied periodically at discrete intervals along the stroke path rather than continuously at every pixel. This sampling approach maintains the visual appearance of natural media while significantly reducing the computational burden compared to per-pixel shading.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system uses stamp-based rendering where pre-rendered texture samples are copied and placed at calculated positions along the stroke path. This avoids expensive real-time shading calculations while maintaining the appearance of variable opacity and natural media effects.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10282867B2Shading for variable opacity stroke rendering
Publication Date: 2019.05.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10282867B2 patent drawing
  • US10282867B2 patent drawing
  • US10282867B2 patent drawing

AI summary

A touch input is received on the touchscreen. The touch input comprises a stroke and is associated with variable opacity. The stroke is converted to a plurality of segments. The plurality of segments comprises a plurality of arc segments, line segments, or a combination. A plurality of stamps is generated corresponding to the plurality segments. Shading is applied to the stroke, where applying shading comprises varying at least one of a weight or an offset of at least one color associated with at least one pixel of at least one stamp of the plurality of stamps. The plurality of stamps is rendered on the touchscreen of the device to represent the stroke.