agxSigmoid function
Vector3
agxSigmoid(
- Vector3 color
AgxSigmoid from composite.frag: the log sigmoid, display-encoded out.
Implementation
Vector3 agxSigmoid(Vector3 color) {
const minEv = -12.47393;
const maxEv = 4.026069;
double curve(double channel) {
final logged = (math.log(math.max(channel, 1e-10)) / math.ln2).clamp(
minEv,
maxEv,
);
final v = (logged - minEv) / (maxEv - minEv);
final v2 = v * v;
final v4 = v2 * v2;
final shaped =
15.5 * v4 * v2 -
40.14 * v4 * v +
31.96 * v4 -
6.868 * v2 * v +
0.4298 * v2 +
0.1191 * v -
0.00232;
return shaped.clamp(0.0, 1.0);
}
return Vector3(curve(color.x), curve(color.y), curve(color.z));
}