uniform vec4 _seed; layout(binding=1) uniform sampler2D _noise; // noise texture vec4 sampleNoise(vec2 st) { return texture(_noise, st); } float random(vec2 st) { vec2 nuv = sampleNoise(st.xy).xy; return fract(sin(dot(nuv,vec2(12.9898,78.233)))*43758.5453123); }