Home | History | Annotate | Download | only in effects

Lines Matching refs:fragBuilder

35         GrGLSLPPFragmentBuilder* fragBuilder = args.fFragBuilder;
97 fragBuilder->codeAppendf("highp vec2 uv = %s;\n", uv.fsIn());
99 fragBuilder->codeAppend("\tfloat texColor = ");
100 fragBuilder->appendTextureLookup(args.fTexSamplers[0],
103 fragBuilder->codeAppend(".r;\n");
104 fragBuilder->codeAppend("\tfloat distance = "
108 fragBuilder->codeAppendf("distance -= %s;", distanceAdjustUniName);
111 fragBuilder->codeAppend("float afwidth;");
119 fragBuilder->codeAppendf("afwidth = abs(" SK_DistanceFieldAAFactor "*dFdx(%s.x));",
123 fragBuilder->codeAppendf("afwidth = abs(" SK_DistanceFieldAAFactor "*dFdy(%s.y));",
134 fragBuilder->codeAppendf("float st_grad_len = length(dFdx(%s));", st.fsIn());
137 fragBuilder->codeAppendf("float st_grad_len = length(dFdy(%s));", st.fsIn());
139 fragBuilder->codeAppend("afwidth = abs(" SK_DistanceFieldAAFactor "*st_grad_len);");
144 fragBuilder->codeAppend("vec2 dist_grad = vec2(dFdx(distance), dFdy(distance));");
147 fragBuilder->codeAppend("float dg_len2 = dot(dist_grad, dist_grad);");
148 fragBuilder->codeAppend("if (dg_len2 < 0.0001) {");
149 fragBuilder->codeAppend("dist_grad = vec2(0.7071, 0.7071);");
150 fragBuilder->codeAppend("} else {");
151 fragBuilder->codeAppend("dist_grad = dist_grad*inversesqrt(dg_len2);");
152 fragBuilder->codeAppend("}");
154 fragBuilder->codeAppendf("vec2 Jdx = dFdx(%s);", st.fsIn());
155 fragBuilder->codeAppendf("vec2 Jdy = dFdy(%s);", st.fsIn());
156 fragBuilder->codeAppend("vec2 grad = vec2(dist_grad.x*Jdx.x + dist_grad.y*Jdy.x,");
157 fragBuilder->codeAppend(" dist_grad.x*Jdx.y + dist_grad.y*Jdy.y);");
160 fragBuilder->codeAppend("afwidth = " SK_DistanceFieldAAFactor "*length(grad);");
164 fragBuilder->codeAppend("float val = distance > 0 ? 1.0 : 0.0;");
169 fragBuilder->codeAppend(
172 fragBuilder->codeAppend("float val = smoothstep(-afwidth, afwidth, distance);");
175 fragBuilder->codeAppendf("%s = vec4(val);", args.fOutputCoverage);
317 GrGLSLPPFragmentBuilder* fragBuilder = args.fFragBuilder;
355 fragBuilder->codeAppendf("highp vec2 uv = %s;", v.fsIn());
357 fragBuilder->codeAppend("float texColor = ");
358 fragBuilder->appendTextureLookup(args.fTexSamplers[0],
361 fragBuilder->codeAppend(".r;");
362 fragBuilder->codeAppend("float distance = "
365 fragBuilder->codeAppendf("highp vec2 st = uv*%s;", textureSizeUniName);
366 fragBuilder->codeAppend("float afwidth;");
379 fragBuilder->codeAppend("afwidth = abs(" SK_DistanceFieldAAFactor "*dFdx(st.x));");
382 fragBuilder->codeAppend("afwidth = abs(" SK_DistanceFieldAAFactor "*dFdy(st.y));");
391 fragBuilder->codeAppend("float st_grad_len = length(dFdx(st));");
394 fragBuilder->codeAppend("float st_grad_len = length(dFdy(st));");
396 fragBuilder->codeAppend("afwidth = abs(" SK_DistanceFieldAAFactor "*st_grad_len);");
401 fragBuilder->codeAppend("vec2 dist_grad = vec2(dFdx(distance), dFdy(distance));");
404 fragBuilder->codeAppend("float dg_len2 = dot(dist_grad, dist_grad);");
405 fragBuilder->codeAppend("if (dg_len2 < 0.0001) {");
406 fragBuilder->codeAppend("dist_grad = vec2(0.7071, 0.7071);");
407 fragBuilder->codeAppend("} else {");
408 fragBuilder->codeAppend("dist_grad = dist_grad*inversesqrt(dg_len2);");
409 fragBuilder->codeAppend("}");
411 fragBuilder->codeAppend("vec2 Jdx = dFdx(st);");
412 fragBuilder->codeAppend("vec2 Jdy = dFdy(st);");
413 fragBuilder->codeAppend("vec2 grad = vec2(dist_grad.x*Jdx.x + dist_grad.y*Jdy.x,");
414 fragBuilder->codeAppend(" dist_grad.x*Jdx.y + dist_grad.y*Jdy.y);");
417 fragBuilder->codeAppend("afwidth = " SK_DistanceFieldAAFactor "*length(grad);");
423 fragBuilder->codeAppend(
426 fragBuilder->codeAppend("float val = smoothstep(-afwidth, afwidth, distance);");
429 fragBuilder->codeAppendf("%s = vec4(val);", args.fOutputCoverage);
565 GrGLSLPPFragmentBuilder* fragBuilder = args.fFragBuilder;
612 fragBuilder->codeAppendf("highp vec2 uv = %s;\n", uv.fsIn());
616 fragBuilder->codeAppendf("highp float delta = -%.*f;\n", SK_FLT_DECIMAL_DIG, lcdDelta);
618 fragBuilder->codeAppendf("highp float delta = %.*f;\n", SK_FLT_DECIMAL_DIG, lcdDelta);
622 fragBuilder->codeAppendf("float st_grad_len = abs(dFdx(%s.x));", st.fsIn());
625 fragBuilder->codeAppendf("float st_grad_len = abs(dFdy(%s.y));", st.fsIn());
627 fragBuilder->codeAppend("vec2 offset = vec2(st_grad_len*delta, 0.0);");
632 fragBuilder->codeAppendf("vec2 st_grad = dFdx(%s);", st.fsIn());
633 fragBuilder->codeAppend("vec2 offset = delta*st_grad;");
637 fragBuilder->codeAppendf("vec2 st_grad = dFdy(%s);", st.fsIn());
638 fragBuilder->codeAppend("vec2 offset = delta*vec2(st_grad.y, -st_grad.x);");
640 fragBuilder->codeAppend("float st_grad_len = length(st_grad);");
642 fragBuilder->codeAppendf("vec2 st = %s;\n", st.fsIn());
644 fragBuilder->codeAppend("vec2 Jdx = dFdx(st);");
645 fragBuilder->codeAppend("vec2 Jdy = dFdy(st);");
646 fragBuilder->codeAppend("vec2 offset = delta*Jdx;");
650 fragBuilder->codeAppend("\tvec4 texColor = ");
651 fragBuilder->appendTextureLookup(args.fTexSamplers[0], "uv", kVec2f_GrSLType);
652 fragBuilder->codeAppend(";\n");
653 fragBuilder->codeAppend("\tvec3 distance;\n");
654 fragBuilder->codeAppend("\tdistance.y = texColor.r;\n");
656 fragBuilder->codeAppend("\tvec2 uv_adjusted = uv - offset;\n");
657 fragBuilder->codeAppend("\ttexColor = ");
658 fragBuilder->appendTextureLookup(args.fTexSamplers[0], "uv_adjusted", kVec2f_GrSLType);
659 fragBuilder->codeAppend(";\n");
660 fragBuilder->codeAppend("\tdistance.x = texColor.r;\n");
662 fragBuilder->codeAppend("\tuv_adjusted = uv + offset;\n");
663 fragBuilder->codeAppend("\ttexColor = ");
664 fragBuilder->appendTextureLookup(args.fTexSamplers[0], "uv_adjusted", kVec2f_GrSLType);
665 fragBuilder->codeAppend(";\n");
666 fragBuilder->codeAppend("\tdistance.z = texColor.r;\n");
668 fragBuilder->codeAppend("\tdistance = "
676 fragBuilder->codeAppendf("distance -= %s;", distanceAdjustUniName);
682 fragBuilder->codeAppend("float afwidth;");
690 fragBuilder->codeAppend("afwidth = " SK_DistanceFieldAAFactor "*st_grad_len;");
695 fragBuilder->codeAppend("vec2 dist_grad = vec2(dFdx(distance.r), dFdy(distance.r));");
698 fragBuilder->codeAppend("float dg_len2 = dot(dist_grad, dist_grad);");
699 fragBuilder->codeAppend("if (dg_len2 < 0.0001) {");
700 fragBuilder->codeAppend("dist_grad = vec2(0.7071, 0.7071);");
701 fragBuilder->codeAppend("} else {");
702 fragBuilder->codeAppend("dist_grad = dist_grad*inversesqrt(dg_len2);");
703 fragBuilder->codeAppend("}");
704 fragBuilder->codeAppend("vec2 grad = vec2(dist_grad.x*Jdx.x + dist_grad.y*Jdy.x,");
705 fragBuilder->codeAppend(" dist_grad.x*Jdx.y + dist_grad.y*Jdy.y);");
708 fragBuilder->codeAppend("afwidth = " SK_DistanceFieldAAFactor "*length(grad);");
715 fragBuilder->codeAppendf("%s = "
719 fragBuilder->codeAppendf(