Ni55aN
@Ni55aN

Градиент на GLSL с переменным количеством цветов?

Как сделать такой градиент?
С обычным вариантом на весь экран и два цвета проблем нет (пример радиального)

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, а необходимо с поддержкой промежуточных цветов
  • Вопрос задан
  • 256 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы