Я новичок в GLSL, и я пишу свой самый первый шейдер. Шейдер написан для использования с PIXI js. Я в значительной степени получил желаемый эффект, но похоже, что созданный эффект iv замаскирован и ограничен размером моего спрайта. см. картинку ниже. Кто-нибудь может сказать мне, что я делаю не так? ценю
see the full code here: https://codepen.io/michell-morso/pen/dyMyxLd
мой шейдер:
precision mediump float;
varying vec2 vTextureCoord;
uniform sampler2D uSampler;
uniform vec2 u_resolution;
uniform float progress;
void main(){
vec2 uv = gl_FragCoord.xy/u_resolution.xy;
float rnd = fract(sin(dot(uv.xy,vec2(12.9898,78.233)))*43758.5453123);
vec2 cordi = vec2(vTextureCoord.x, vTextureCoord.y-rnd*progress);
cordi = progress > 0. ? vec2(cordi.x+0.02*sin(cordi.y*52.0+progress*20.0),cordi.y):cordi;
gl_FragColor = texture2D(uSampler, cordi);
}