blob: f5fde01854412998a6091dbc48d3ff994db0a558 [file] [log] [blame]
/*
* Copyright 2017 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
enum class Mode {
kGaussian = 0,
kSmoothStep = 1
};
in fragmentProcessor? inputFP;
layout(key) in Mode mode;
void main() {
half inputAlpha = sample(inputFP, sk_InColor).a;
half factor = 1.0 - inputAlpha;
@switch (mode) {
case Mode::kGaussian:
factor = half(exp(-factor * factor * 4.0) - 0.018);
break;
case Mode::kSmoothStep:
factor = smoothstep(1.0, 0.0, factor);
break;
}
sk_OutColor = half4(factor);
}