- float beveldot = max(dot(grad, normalize(vec2(1.0, 1.0))), 0.0);
- vec3 bevelcol = mix(vec3(0.05, 0.1, 0.6), vec3(1.0, 0.2, 0.8), beveldot);
+ // --- face gradients ---
+ float t = local_pt.y / height;
+
+ float c_over, c_under;
+ float tlow = min(2.0 * t, 1.0);
+ gradcurves(tlow, c_over, c_under);
+ vec3 color_low = vec3(c_over, c_under, c_over);
+
+ float thigh = max(2.0 * t - 1.0, 0.0);
+ gradcurves(thigh, c_over, c_under);
+ vec3 color_high = vec3(c_under, c_under, c_over);
+
+ vec3 color = mix(color_low, color_high, step(0.5, t));