Stroked Curve Rendering via Canonical Space Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The rendering of stroked curves in computer graphics systems is a resource-intensive operation, particularly due to the need for direct determination of sampling points within the curve, which can be costly in terms of CPU load and often requires dedicated hardware.
Innovation Solution
The method involves mapping the stroked curve to a canonical curve in canonical space, using transformations like translation, rotation, and uniform scaling, allowing for efficient determination of whether sampling points fall within the curve by testing against a predefined canonical curve, thereby reducing the need for individual data storage and hardware.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If direct determination of sampling points within the stroked curve is performed, then rendering accuracy is improved, but CPU load increases significantly
Solution Approach 1:
The patent creates a canonical version of the stroked curve that stores pre-computed geometric information. Instead of performing expensive direct determination operations on the original curve for each sampling point, the system copies the curve to canonical space where the determination can be performed more efficiently using the pre-stored canonical representation.
Solution Approach 2:
The patent performs preliminary transformation of the stroked curve into canonical space before rendering operations. This preliminary action pre-computes and stores the canonical representation, so that subsequent sampling point determinations can be performed efficiently without repeating the expensive direct determination process.
2Productivity
If dedicated hardware is used for stroked curve rendering, then rendering efficiency is improved, but device complexity increases
Solution Approach 1:
The patent introduces canonical space as an intermediary representation between the original stroked curve and the rendering process. This intermediary allows the system to achieve efficient rendering through software-based canonical curve operations rather than requiring dedicated hardware, as the canonical representation enables efficient algorithms to be implemented on general-purpose processors.
3Measurement precision
If individual data storage for each stroked curve is performed, then rendering precision is improved, but memory usage increases
Solution Approach 1:
The patent creates a universal canonical representation that can serve multiple purposes: it enables efficient sampling point determination, reduces memory requirements compared to storing full individual curve data, and maintains rendering precision. The canonical form acts as a multi-functional data structure that achieves multiple goals simultaneously.
Data Source
AI summary
When rendering a stroked curve for display in a graphics processing system, an input stroked curve 1 defined in user space 2 is received by the system. The portion of a canonical space 5 that corresponds to the received stroked curve 1 is determined by determining the portion of a canonical curve 12 defined in the canonical space 5 that corresponds to the received stroked curve 1. Then, for each of a plurality of sampling points within one or more primitives 4 that are generated to cover the received stroked curve 1′ following its projection into surface space 3, it is determined whether a corresponding location in canonical space 5 (to the sampling point in surface space 3) is within the portion of the canonical space that corresponds to the received stroked curve, e.g. by looking up suitable information that has been stored (in advance) in one or more graphics textures. Data for rendering the received stroked curve 1 (e.g. RGBA values) is then assigned to each of the plurality of sampling points based on the determination.


