Claims
- 1. A method of dropout control for scan conversion of a glyph comprising a plurality of discrete line segments and spline segments, comprising:
- detecting each intersection of one of said plurality of said segments, each of said intersections representing a transition entry defined by pixel coordinates and a transition sense value, and placing in response thereto each transition entry into one of a pair of transition tables, said transition tables having opposite transition sense values;
- detecting a potential dropout in response to a selected pair of said transition entries generated by first and second ones of said plurality of segments crossing a particular one of plurality of scan lines, said selected pair of transition entries being in said transition tables for a same location of said pixel coordinates through which said particular scan line passes and having opposite transition sense values;
- retrieving from said transition tables said pixel coordinates associated with said selected pair of transition entries;
- determining with sub-pixel accuracy first scan-direction coordinates for the intersection of said first segment and said particular scan line based upon the type of said first segment;
- determining with sub-pixel accuracy second scan-direction coordinates for the intersection of said second segment and said particular scan line based upon the type of said second segment, and
- determining a pixel having a pixel center nearest to a midpoint between said first and second scan-direction coordinates and activating the pixel having said nearest pixel center.
- 2. The method recited in claim 1, wherein placing each transition entry into one of said pair of transition tables comprises assigning a unique index number to each transition entry and placing each transition entry within one of said transition tables.
- 3. The method recited in claim 2, wherein retrieving said pixel coordinates corresponding to each of said pair of transition entries for said first segment and said second segment comprises locating said index number for each of said first segment and said second segment, said pixel coordinates being retrieved to supply an initial set of pixel coordinates for supporting the determination, in sub-pixel coordinates, of said first and second scan-direction coordinates.
- 4. The method recited in claim 1, wherein determining with sub-pixel accuracy said first scan-direction coordinates for the intersection of said first segment and said particular scan line comprises:
- if said first segment is a line segment, then solving simultaneous linear equations to determine with sub-pixel accuracy said first scan-direction coordinates for the intersection of said first segment and said particular scan line; and
- if said first segment is a spline, then using recursive division to determine with sub-pixel accuracy said first scan-direction coordinates for the intersection of said first segment and said particular scan line.
- 5. The method recited in claim 4, wherein determining with sub-pixel accuracy said second scan-direction coordinates for the intersection of said second segment and said particular scan line comprises:
- if said second segment is a line segment, then solving simultaneous linear equations to determine with sub-pixel accuracy said second scan-direction coordinates for the intersection of said second segment and said particular scan line; and
- if said second segment is a spline, then using recursive division to determine with sub-pixel accuracy said second scan-direction coordinates for the intersection of said second segment and said particular scan line.
- 6. A computer-readable medium having computer-executable instructions for performing the method of claim 1.
- 7. A computer-readable medium having computer-executable instructions for performing the method of claim 5.
- 8. A computer system adapted to perform the method of claim 1.
- 9. A method for correcting dropout while scan converting a glyph, comprising:
- without calculating sub-pixel coordinates, detecting a first intersection of a first segment of the glyph with a scan line of a pixel grid on which the glyph is superimposed;
- storing a first transition entry that includes a first transition sense and first coordinates of a first pixel center adjacent to the first intersection;
- without calculating sub-pixel coordinates, detecting a second intersection of a second segment of the glyph with the scan line;
- storing a second transition entry that includes a second transition sense and second coordinates of a second pixel center adjacent to the second intersection;
- detecting a dropout condition by comparing the first transition entry and the second transition entry;
- in response to detecting the dropout condition, calculating first scan-direction coordinates that represent a location of the first intersection in sub-pixel coordinates and calculating second scan-direction coordinates that represent a location of the second intersection in sub-pixel coordinates; and
- activating a pixel having a pixel center nearest to a midpoint between the first scan-direction coordinates and the second scan-direction coordinates.
- 10. The method of claim 9, wherein detecting the dropout condition by comparing the first transition entry to the second transition entry comprises determining that the first transition sense is opposite of the second transition sense and the first coordinates of the first pixel center adjacent to the first intersection are identical to the second coordinates of the second pixel center adjacent to the second intersection.
- 11. The method of claim 10, wherein storing the first transition entry comprises storing the first transition entry in a first transition table for storing transition entries having identical transition senses, and wherein storing the second transition entry comprises storing the second transition entry in a second transition table for storing transition entries having identical transition senses.
- 12. The method of claim 9, wherein calculating the first scan-direction coordinates comprises:
- if the first segment is a spline, then using recursive subdivision to calculate the first scan-direction coordinates; and
- if the first segment is a line, then solving simultaneous equations to calculate the first scan-direction coordinates; and wherein calculating the second scan-direction coordinates comprises:
- if the second segment is a spline, then using recursive subdivision to calculate the second scan-direction coordinates; and
- if the second segment is a line, then solving simultaneous equations to calculate the second scan-direction coordinates.
- 13. A computer-readable medium having computer-executable instructions for performing the method of claim 9.
- 14. A computer-readable medium having computer-executable instructions for performing the method of claim 10.
- 15. A computer-readable medium having computer-executable instructions for performing the method of claim 12.
- 16. A computer system adapted to perform the method of claim 9.
CROSS REFERENCE TO RELATED APPLICATION
This application is a division of application Ser. No. 08/368,415, filed Jan. 3, 1995is now U.S. Pat. No. 5,790,126, entitled IMPROVED SCAN CONVERSION SYSTEM.
US Referenced Citations (19)
Foreign Referenced Citations (2)
Number |
Date |
Country |
WO9406094 |
Mar 1994 |
WOX |
WO9429843 |
Dec 1994 |
WOX |
Non-Patent Literature Citations (3)
Entry |
J. Hobby, "Rasterization of Nonparametric Curves," ACM Transactions on Graphics, vol. 9. No. 3, Jul. 1900, pp. 262-277. |
W. Newman and R. Sproull, "Solid-Area Scan Conversion", Chapter 16, Principles of Interactive Computer Graphics, pp. 229-245, 2d edition, 1979. |
Foley et al., Computer Graphics Principles and Practice, Second Edition, Chapter 3, Section 3.17, Addison Wesley, pp. 132-143, 1990. |
Divisions (1)
|
Number |
Date |
Country |
Parent |
368415 |
Jan 1995 |
|