小空心圆 shader

本文展示了一个使用 GLSL (图形库着色语言) 编写的实时光效演示程序。该程序利用时间变量来动态改变画面中的颜色分布,通过计算像素坐标与分辨率的比例关系,实现了一种动态光效。具体而言,程序运用了三角函数和长度计算来调整红、绿、蓝三色的亮度。
摘要由CSDN通过智能技术生成

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





#ifdef GL_ES
precision mediump float;
#endif


#extension GL_OES_standard_derivatives : enable


uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;


void main(void){
    vec2 p = (gl_FragCoord.xy * 2.0 - resolution) / min(resolution.x, resolution.y);
    
    float r = 0.0;
    float g = 0.0;
    float b = 0.0;


        float j = 1.;
        vec2 q = p + vec2(cos(time * j), sin(time * j)) * 0.2;
        r = 0.1 / length(q * 10.0);
        g += 0.1 / length(q);
        b = 0.1 / length(q * 0.15);


    gl_FragColor = vec4(vec3(r,g,b), 1.0);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值