Method for rendering resolution-independent shapes directly from outline control points
AssigneeTerathon Software LLC
InventorEric Lengyel
Life of this patent
Estimating the term…
Abstract
A method for rendering a shape partially defined by quadratic Bézier curves computes the winding number with respect to one or more closed contours to determine whether a sample position is colored. Numerical robustness is achieved by classifying the controls points of each Bézier curve in order to partition the set of all possible Bézier curves into eight equivalence classes that can each be processed in the same manner. A small table of binary values specifies whether the roots of a classified Bézier curve are eligible to modify the winding number at a particular pixel location.
Claims9
A method performed by a computer system for rendering a shape defined at least in part by one or more closed contours composed at least in part of one or more quadratic curves by calculating an associated winding number at a plurality of fixed sample positions corresponding to pixel locations, the method comprising:
- identifying Bezier control points for each said quadratic curve;
- classifying each said Bezier control point based on its position with respect to at least one ray;
- selecting at least one root of each said quadratic curve with respect to said ray, wherein said selection is based on a result of said classification;
- computing at least one root of each said quadratic curve with respect to said ray;
- computing at least one intersection point on each said quadratic curve, where said intersection point is computed at a parameter value corresponding to said root;
- and
- choosing a color determined by a spatial relationship between said intersection point and at least one said sample position.
One or more non-statutory computer-readable storage media containing program instructions describing a method for causing a computer to render a shape defined at least in part by one or more closed contours composed at least in part of one or more quadratic curves, comprising:
- computer program code for identifying Bezier control points for each said quadratic curve;
- computer program code for classifying each said Bezier control point based on its position with respect to at least one axis;
- computer program code for selecting at least one root of each said quadratic curve with respect to said axis, wherein said selection is based on a result of said classification;
- computer program code for computing at least one root of each said quadratic curve with respect to said axis;
- computer program code for computing at least one intersection point on each said quadratic curve, where said intersection point is computed at a parameter value corresponding to said root;
- and
- computer program code for choosing a color determined by a spatial relationship between said intersection point and at least one said sample position.
Dependencies are inferred from the claim text.