// https://gamedevelopment.tutsplus.com/tutorials/a-beginners-guide-to-coding-graphics-shaders--cms-23313
uniform vec3 topColor;
uniform vec3 horizontColor;
uniform float offset;
uniform float exponent;
varying vec3 vWorldPosition;
void main() {
  float h = normalize( vWorldPosition + offset ).y;
  gl_FragColor = vec4(
    mix(
      horizontColor,
      topColor,
      max(
        pow(
          max( h , 0.0),
          exponent
        ),
        0.0
      )
    ), 1.0
  );
}
