creator shader: 怎么制作顺滑的颜色变换

creator shader: 怎么制作顺滑的颜色变换

17659860989230.4038425576134659

老帖子图挂了, 补个图

做一个顺滑的渐变色

从一个图片不能直观看出rgb三个分量的变化曲线,需要借助一下ps,分别显示三个颜色通道就可以

照一张想要的图,用ps打开,查看对应通道的颜色变换。17659860989270.874576740778148

17659860989330.8710074901982774
17659860989360.3028036712686347
17659860989400.2201554380053542
可以看到,其实最终的一张变换色彩的图片,就是由这三张不同通道的图组合而成,红色图的白色值 填入 gl_FragColor.r 绿蓝分别填入gl_FragColor.gb

那么,这三张图的值怎么模拟呢?

用函数模拟颜色的变换

这个是一个很有用的网站desmos.com,可以根据输入的函数,显示函数的曲线。

图片左侧,三行公式,分别就是图的rgb三通道值,放一下最终代码:

  void main () {
    vec3 color = vec3(0.);


    float x = v_uv0.x;float y = v_uv0.y;
    color = vec3(
                 sin(4.*x+0.85)*2.-0.5,
                 sin(5.*x-1.),
                 sin(3.*x-1.5) *1.5
                 );
    vec4 o = vec4(color, 1);
    gl_FragColor = o;
  }

善用数学公式。


公众号欢迎关注

17659861000750.2599713665486282

2赞