Draws an irregular edge.
The edge specified in paper coordinates.
Parameters:
coords - vertex->screen transformation
pt - vertices of the edge
- norm normals at each vertex texscale - vertex to texcoords scaling (divides texcoords)
linewidth - width of border line in pixels at refsize zoom
(actually in units of the coords mapping destination)
refsize - the coords zoom factor where linewidth is defined
scale_pow - linewidth scaling exponent: e.g.,
0 constant, 1 linear, 1/2 sqrt
border0 - quad inner edge displacement in units of norm border1 - quad outer edge displacement in units of norm texslicing - border0 and border1 factor for texcoords
0: 1D texture slice, 1: direct sprinkled
c0 - constant vector; currently specifies
inner and outer color 4+4 floats
c1 - second constant vecotr; used for secondary
color if c0 is already taken for primary color angles - number of precomputed slicing angles in the texture
multi - the "radius" of texture units (i.e, (1 + 2 * multi)
units); multi > 0 also enables some hardcoded options
flags -
Y_COLOR glColor4fv(c0) / glColor4fv(c0+4) at inner/outer edge
Y_SECCOLOR as Y_COLOR but with glSecondaryColor3fvEXT(...)
DOTVEC_COLOR specify the angle-interpolation dotvector as glColor
currently assumes a span of 180 degrees, i.e.,
only works for a pure 1D slice
(2D texture slice requires full 360 degree span)
INTERP_DOTVEC interpolate the dotvector using normals at each vertex
(as opposed to using tangents at each quad)
SLICE_1D map 1D tex slice (or 2D if texslicing != 0)
SLICE_2D map 2D tex slice (use w/ SLICE_1D to get both coords)
SHIFTS draw each quad 3 or 4 (texslicing != 0) times
with linewidth-perturbed coordinates
INSIDE draw the inside as a polygon
(also maps texcoords as in the inner edge)