粒子摇摆 shader

转载自: http://glslsandbox.com/e#44604.0




#ifdef GL_ES
precision mediump float;
#endif


uniform float time;
uniform vec2 resolution;


void main( void ) {
    float t = time;

    float sum = 0.0;
    float size = resolution.x / 5.0;
    float g = 0.93;
    int num = 100;
    for (int i = 0; i < 42; ++i) {
        vec2 position = resolution / 2.0;
        position.x += sin(time / 3.0 + 1.0 * float(i)) * resolution.x * 0.25;
        position.y += tan(time / 556.0 + (2.0 + sin(time) * 0.01) * float(i)) * resolution.y * 0.25;
        
        float dist = length(gl_FragCoord.xy - position);
        
        sum += size / pow(dist, g);
    }
    
    vec4 color = vec4(0,0,0,1);
    float val = sum / float(num
  );
    color = vec4(0, val*0.5, val, 1);
    
    gl_FragColor = vec4(color);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值