Patent ID: 7714866

Claim:
A computer implemented method for displaying a vector marker stroke, comprising: (a) obtaining, by a computer, a computer-generated rendering comprised of vector geometry and one or more pixels; (b) receiving, by the computer, user input via a cursor control device, wherein said user input comprises a marker stroke in the computer-generated rendering; (c) obtaining, by the computer, a stroked fill based on the marker stroke, wherein the stroked fill comprises one or more vector splines; (d) creating, by the computer, one or more vector polygons along the one or more vector splines, wherein each vector polygon comprises one or more faces; (e) creating, by the computer, a stencil buffer comprising a number, for each of the one or more pixels, of the one or more vector faces that are incident at each of the one or more pixels; (f) conducting, by the computer, a first rendering pass creating a mask comprising: (i) examining the number, in the stencil buffer, of each of the one or more pixels, to determine if each of the one or more pixels has overlapping faces; and (ii) if the number indicates that one of the one or more pixels has overlapping faces, executing a pixel shader for the one pixel as many times as the number, wherein the pixel shader determines an opacity value in the mask for the one pixel; (g) conducting, by the computer, a second rendering pass comprising: (i) examining, the number, in the stencil buffer, of each of the one or more pixels, to determine if each of the one or more pixels has one or more faces; (ii) if the number indicates that one of the one or more pixels has one or more faces, further determining if the one pixel is at a beginning or an ending of the marker stroke; and (iii) if the one pixel has one or more faces and is at the beginning or ending of the marker stroke, executing the pixel shader that adds to the opacity value in the mask for the one pixel; (h) performing, by the computer, one or more blur shading operations on each of the one or more pixels in the mask; (i) rendering, by the computer, the stroked fill on a display device in a first color; and (j) rendering, by the computer, a second color, using the mask, on top of the stroked fill on the display device.