Lines Matching refs:codeAppend
597 v->codeAppend("float2 corner = corner_and_radius_outsets.xy;"); in onEmitCode()
598 v->codeAppend("float2 radius_outset = corner_and_radius_outsets.zw;"); in onEmitCode()
599 v->codeAppend("float2 aa_bloat_direction = aa_bloat_and_coverage.xy;"); in onEmitCode()
600 v->codeAppend("float is_linear_coverage = aa_bloat_and_coverage.w;"); in onEmitCode()
603 v->codeAppend("float2 pixellength = inversesqrt(" in onEmitCode()
605 v->codeAppend("float4 normalized_axis_dirs = skew * pixellength.xyxy;"); in onEmitCode()
606 v->codeAppend("float2 axiswidths = (abs(normalized_axis_dirs.xy) + " in onEmitCode()
608 v->codeAppend("float2 aa_bloatradius = axiswidths * pixellength * .5;"); in onEmitCode()
611 v->codeAppend("float4 radii_and_neighbors = radii_selector" in onEmitCode()
613 v->codeAppend("float2 radii = radii_and_neighbors.xy;"); in onEmitCode()
614 v->codeAppend("float2 neighbor_radii = radii_and_neighbors.zw;"); in onEmitCode()
616 v->codeAppend("float coverage_multiplier = 1;"); in onEmitCode()
617 v->codeAppend("if (any(greaterThan(aa_bloatradius, float2(1)))) {"); in onEmitCode()
622 v->codeAppend( "corner = max(abs(corner), aa_bloatradius) * sign(corner);"); in onEmitCode()
623 v->codeAppend( "coverage_multiplier = 1 / (max(aa_bloatradius.x, 1) * " in onEmitCode()
627 v->codeAppend( "radii = float2(0);"); in onEmitCode()
628 v->codeAppend("}"); in onEmitCode()
631 v->codeAppend("float coverage = aa_bloat_and_coverage.z;"); in onEmitCode()
637 v->codeAppend("if (any(lessThan(radii, aa_bloatradius * 1.5))) {"); in onEmitCode()
639 v->codeAppend( "radii = float2(0);"); in onEmitCode()
642 v->codeAppend( "aa_bloat_direction = sign(corner);"); in onEmitCode()
643 v->codeAppend( "if (coverage > .5) {"); // Are we an inset edge? in onEmitCode()
644 v->codeAppend( "aa_bloat_direction = -aa_bloat_direction;"); in onEmitCode()
645 v->codeAppend( "}"); in onEmitCode()
646 v->codeAppend( "is_linear_coverage = 1;"); in onEmitCode()
647 v->codeAppend("} else {"); in onEmitCode()
651 v->codeAppend( "radii = clamp(radii, pixellength * 1.5, 2 - pixellength * 1.5);"); in onEmitCode()
652 v->codeAppend( "neighbor_radii = clamp(neighbor_radii, pixellength * 1.5, " in onEmitCode()
655 v->codeAppend( "float2 spacing = 2 - radii - neighbor_radii;"); in onEmitCode()
656 v->codeAppend( "float2 extra_pad = max(pixellength * .0625 - spacing, float2(0));"); in onEmitCode()
657 v->codeAppend( "radii -= extra_pad * .5;"); in onEmitCode()
658 v->codeAppend("}"); in onEmitCode()
662 v->codeAppend("float2 aa_outset = " in onEmitCode()
664 v->codeAppend("float2 vertexpos = corner + radius_outset * radii + aa_outset;"); in onEmitCode()
666 v->codeAppend("if (coverage > .5) {"); // Are we an inset edge? in onEmitCode()
671 v->codeAppend( "if (aa_bloat_direction.x != 0 && vertexpos.x * corner.x < 0) {"); in onEmitCode()
672 v->codeAppend( "float backset = abs(vertexpos.x);"); in onEmitCode()
673 v->codeAppend( "vertexpos.x = 0;"); in onEmitCode()
674 v->codeAppend( "vertexpos.y += " in onEmitCode()
676 v->codeAppend( "coverage = (coverage - .5) * abs(corner.x) / " in onEmitCode()
678 v->codeAppend( "}"); in onEmitCode()
679 v->codeAppend( "if (aa_bloat_direction.y != 0 && vertexpos.y * corner.y < 0) {"); in onEmitCode()
680 v->codeAppend( "float backset = abs(vertexpos.y);"); in onEmitCode()
681 v->codeAppend( "vertexpos.y = 0;"); in onEmitCode()
682 v->codeAppend( "vertexpos.x += " in onEmitCode()
684 v->codeAppend( "coverage = (coverage - .5) * abs(corner.y) / " in onEmitCode()
686 v->codeAppend( "}"); in onEmitCode()
687 v->codeAppend("}"); in onEmitCode()
692 v->codeAppend("float2 localcoord = (local_rect.xy * (1 - vertexpos) + " in onEmitCode()
698 v->codeAppend("float2x2 skewmatrix = float2x2(skew.xy, skew.zw);"); in onEmitCode()
699 v->codeAppend("float2 devcoord = vertexpos * skewmatrix + translate;"); in onEmitCode()
705 v->codeAppend("if (0 != is_linear_coverage) {"); in onEmitCode()
710 v->codeAppend("} else {"); in onEmitCode()
713 v->codeAppend( "float2 arccoord = 1 - abs(radius_outset) + aa_outset/radii * corner;"); in onEmitCode()
723 v->codeAppend("}"); in onEmitCode()