Lines Matching refs:codeAppend
264 v->codeAppend ("half wind;"); in onEmitCode()
306 v->codeAppend ("float2 leftbloat = sign(corner - left);"); in onEmitCode()
307 v->codeAppend ("leftbloat = float2(0 != leftbloat.y ? leftbloat.y : leftbloat.x, " in onEmitCode()
310 v->codeAppend ("float2 rightbloat = sign(right - corner);"); in onEmitCode()
311 v->codeAppend ("rightbloat = float2(0 != rightbloat.y ? rightbloat.y : rightbloat.x, " in onEmitCode()
314 v->codeAppend ("bool2 left_right_notequal = notEqual(leftbloat, rightbloat);"); in onEmitCode()
316 v->codeAppend ("float2 bloatdir = leftbloat;"); in onEmitCode()
318 v->codeAppend ("float2 leftdir = corner - left;"); in onEmitCode()
319 v->codeAppend ("leftdir = (float2(0) != leftdir) ? normalize(leftdir) : float2(1, 0);"); in onEmitCode()
321 v->codeAppend ("float2 rightdir = right - corner;"); in onEmitCode()
322 v->codeAppend ("rightdir = (float2(0) != rightdir) ? normalize(rightdir) : float2(1, 0);"); in onEmitCode()
330 v->codeAppend ( "bloatdir = float2(leftdir.x > rightdir.x ? +1 : -1, " in onEmitCode()
337 v->codeAppend ("}"); in onEmitCode()
346 v->codeAppend ("switch (bloatidx) {"); in onEmitCode()
347 v->codeAppend ( "case 3:"); in onEmitCode()
349 v->codeAppend ( "bloatdir = float2(-bloatdir.y, +bloatdir.x);"); // 90 deg CW. in onEmitCode()
351 v->codeAppend ( "case 2:"); in onEmitCode()
353 v->codeAppend ( "bloatdir = float2(-bloatdir.y, +bloatdir.x);"); // 90 deg CW. in onEmitCode()
354 v->codeAppend ( "}"); in onEmitCode()
356 v->codeAppend ( "case 1:"); in onEmitCode()
358 v->codeAppend ( "bloatdir = float2(-bloatdir.y, +bloatdir.x);"); // 90 deg CW. in onEmitCode()
359 v->codeAppend ( "}"); in onEmitCode()
361 v->codeAppend ("}"); in onEmitCode()
363 v->codeAppend ("float2 vertexpos = fma(bloatdir, float2(bloat), corner);"); in onEmitCode()
367 v->codeAppend ("half coverage = +1;"); in onEmitCode()
370 v->codeAppend ("half left_coverage; {"); in onEmitCode()
372 v->codeAppend ("}"); in onEmitCode()
374 v->codeAppend ("half right_coverage; {"); in onEmitCode()
376 v->codeAppend ("}"); in onEmitCode()
380 v->codeAppend ( "coverage = left_coverage;"); in onEmitCode()
381 v->codeAppend ("}"); in onEmitCode()
386 v->codeAppend ( "coverage = -1 - coverage;"); in onEmitCode()
387 v->codeAppend ("}"); in onEmitCode()
392 v->codeAppend ("float nwidth = bloat*2 * (abs(n.x) + abs(n.y));"); in onEmitCode()
395 v->codeAppend ("float d = dot(p0 - vertexpos, n);"); in onEmitCode()
396 v->codeAppend ("d /= (0 != nwidth) ? nwidth : 1;"); in onEmitCode()
397 v->codeAppend ("coverage = half(d) - .5*sign(wind);"); in onEmitCode()
401 v->codeAppend ("half2 corner_coverage = half2(0);"); in onEmitCode()
406 v->codeAppend ( "wind = -wind;"); in onEmitCode()
408 v->codeAppend ("coverage = 1 + left_coverage + right_coverage;"); in onEmitCode()
410 v->codeAppend ("coverage = -coverage;"); in onEmitCode()
414 v->codeAppend ( "half attenuation; {"); in onEmitCode()
416 v->codeAppend ( "}"); in onEmitCode()
423 v->codeAppend ( "corner_coverage = (0 == bloatidx) ? half2(0, attenuation) : half2(-1,+1);"); in onEmitCode()
428 v->codeAppend ("if (1 == bloatidx || 2 == bloatidx) {"); in onEmitCode()
429 v->codeAppend ( "corner_coverage.x -= right_coverage;"); in onEmitCode()
430 v->codeAppend ("}"); in onEmitCode()
431 v->codeAppend ("if (bloatidx >= 2) {"); in onEmitCode()
432 v->codeAppend ( "corner_coverage.x -= left_coverage;"); in onEmitCode()
433 v->codeAppend ("}"); in onEmitCode()
435 v->codeAppend ("}"); in onEmitCode()
438 v->codeAppend ("coverage *= wind;"); in onEmitCode()
439 v->codeAppend ("corner_coverage.x *= wind;"); in onEmitCode()