-
-}
-
-
-#if 0
-static
-void
-render_slice_scanline_old(ss_scanline *ss, int y, p_line *l, p_line *r) {
-
- pcord miny, maxy; /* y bounds in fine coordinates */
- pcord lminx, lmaxx; /* left line min/max within y bounds in fine coords */
- pcord rminx, rmaxx; /* right line min/max within y bounds in fine coords */
- int cpix; /* x-coordinate of current pixel */
- int thin; /* boolean for thin/thick segment */
- int startpix; /* temporary variable for "start of this interval" */
- int stoppix; /* temporary variable for "end of this interval" */
-
- /* Find the y bounds of scanline_slice */
-
- maxy = i_min( l->maxy, r->maxy );
- miny = i_max( l->miny, r->miny );
-
- maxy = i_min( maxy, (y+1)*16 );
- miny = i_max( miny, y*16 );
-
- lminx = i_min( p_eval_aty(l, maxy), p_eval_aty(l, miny) );
- lmaxx = i_max( p_eval_aty(l, maxy), p_eval_aty(l, miny) );
-
- rminx = i_min( p_eval_aty(r, maxy), p_eval_aty(r, miny) );
- rmaxx = i_max( p_eval_aty(r, maxy), p_eval_aty(r, miny) );
-
- thin = coarse(lmaxx) >= coarse(rminx);
-
-
- /* First step */
- startpix = coarse(lminx); /* includes tricky starting pixel */
- stoppix = i_min(coarse(lmaxx), coarse(rminx) ); /* last pixel is tricky */
-
- /* handle start pixel */
-
- cpix = startpix;
- if (cpix < stoppix) {
- ss->line[cpix] += pixel_coverage(l, cpix*16, cpix*16+16, miny, maxy);
- printf("%2d: step1 - start pixel\n", cpix);
- }
-
- for(cpix=startpix+1; cpix<stoppix; cpix++) {
- printf("%2d: step1 pixel\n", cpix);
- ss->line[cpix] += l->updown == 1 ?
- 8.0 * (2*maxy-p_eval_atx(l, 16*cpix)-p_eval_atx(l, 16*cpix+16)) /* up case */
- :
- 8.0 * (p_eval_atx(l, 16*cpix)+p_eval_atx(l, 16*cpix+16)-2*miny); /* down case */
- }
-
-
- /* handle stop pixel */
-
- if (thin) { /* step 2a */
- startpix = coarse(rminx);
- stoppix = coarse(lmaxx+15); /* one more than needed */
-
- for(cpix=startpix; cpix<stoppix; cpix++) {
- printf("%2d: step2a pixel\n", cpix);
- ss->line[cpix] +=
- pixel_coverage(l, cpix*16, cpix*16+16, miny, maxy)
- +(cpix*16+16-i_min(cpix*16+16, l->maxx))*(maxy-miny)
- -pixel_coverage(r, cpix*16, cpix*16+16, miny, maxy);
- }
- } else { /* step 2b */
- stoppix = coarse(rminx);
- for(/* cpix already correct */; cpix<stoppix; cpix++) {
- printf("%2d: step2b pixel\n", cpix);
- ss->line[cpix] += 16.0*(maxy-miny);
- }
- }
-
- /* step 3 */
-
- cpix = i_max(coarse(rminx), coarse(lmaxx+15));
- stoppix = coarse(rmaxx-15);
-
- printf("step3 from %d to %d\n", cpix, stoppix);
-
- for(; cpix<stoppix; cpix++) {
- printf("%2d: step3 pixel\n", cpix);
- ss->line[cpix] += 0+
- (l->updown == 1 ?
- 8.0 * (2*maxy-p_eval_atx(r, 16*cpix)-p_eval_atx(r, 16*cpix+16)) /* up case */
- :
- 8.0 * (p_eval_atx(r, 16*cpix)+p_eval_atx(r, 16*cpix+16)-2*miny)); /* down case */
- }
-
- ss->line[cpix] += (16.0)*(maxy-miny) - pixel_coverage(r, cpix*16, cpix*16+16, miny, maxy);