1234567891011121314151617181920212223242526 |
- // https://gamedevelopment.tutsplus.com/tutorials/a-beginners-guide-to-coding-graphics-shaders--cms-23313
- uniform vec3 waterColor;
- uniform vec3 bottomColor;
- uniform float wateroffset;
- uniform float waterexponent;
- varying vec3 vWorldPosition;
- void main() {
- float h = normalize( vWorldPosition * -1.0 + wateroffset ).y;
- gl_FragColor = vec4(
- // mix(x, y, a) performs a linear interpolation between x and y using a to weight between them.
- // The return value is computed as x×(1−a)+y×a.
- mix(
- waterColor,
- bottomColor,
- max(
- pow(
- max( h , 0.0),
- waterexponent
- ),
- 0.0
- )
- ),
- 1.0
- );
- }
|