シェーダーでグラデーション

shader-gradation.png

+ フラグメントシェーダ

uniform vec4 u_colorstop1;
uniform vec4 u_colorstop2;
void main(){
    vec4 now_color=u_colorstop1;
    //colorstop1からcolorstop2へ徐々に近づけるために色差分を取る
    vec4 color_diff=u_colorstop1-u_colorstop2;
    now_color+=color_diff;
    gl_FragColor=now_color;
}

gradation

サポートサイト Wikidot.com gradation