Как сделать такой градиент?
С обычным вариантом на весь экран и два цвета проблем нет (пример радиального)
attribute vec2 position;
uniform vec2 resolution;
varying lowp vec2 coord;
void main(void) {
vec2 np = position/resolution;
np.x=np.x*2.0-1.0;
np.y=1.0-np.y*2.0;
coord = np;
gl_Position = vec4(np, 0.0, 1.0);
}
varying lowp vec2 coord;
uniform mediump vec3 color1;
uniform mediump vec3 color2;
void main(void) {
lowp float inten = sqrt(coord.x*coord.x+coord.y*coord.y);
mediump vec3 color = color1 * inten + color2 * (1.0 - inten);
gl_FragColor = vec4(color,1.0);
}
Как можно сделать точки старта цвета и их переменное количество?
Например, выше стандартное для 0% цвет1, 100% цвет2, а необходимо с поддержкой промежуточных цветов