[gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://c88aptbv2lgbu"] [ext_resource type="Texture2D" uid="uid://bsxod2wcjw5ik" path="res://visuals/textures/new_noise_texture_2d.tres" id="1_seqd6"] [sub_resource type="Shader" id="Shader_ytjmb"] resource_local_to_scene = true code = "shader_type canvas_item; uniform sampler2D noise; varying vec4 modulate; uniform float threshold : hint_range(0,0.5)= .5; uniform float strength : hint_range(-0.5,0.5) = 0; float random (vec2 uv) { return fract(sin(dot(uv.xy, vec2(12.9898,78.233))) * 43758.5453123); } void vertex() { // Called for every vertex the material is visible on. modulate = COLOR; } void fragment() { // Called for every pixel the material is visible on. vec2 uv = UV; vec2 rv = vec2(mod(TIME / 3.5, 1.0), uv.y); vec4 val = texture(noise, rv); uv.x += .002 * (val.x - 0.5) * 2.0; float extrema = abs(val.x - 0.5); //if(extrema > threshold){ //uv.x += sign(val.x - 0.5) * mix(0,strength, (extrema) / (.5 - threshold)); //} if(extrema > threshold){ uv.x -= strength * (val.x - 0.5) * 2.0; } vec4 col = texture(TEXTURE, uv) * modulate; COLOR = col; //* COLOR; //COLOR = val; } //void light() { // // Called for every pixel for every light affecting the CanvasItem. // // Uncomment to replace the default light processing function with this one. //} " [resource] shader = SubResource("Shader_ytjmb") shader_parameter/noise = ExtResource("1_seqd6") shader_parameter/threshold = 0.1150000054625 shader_parameter/strength = 0.09000002802499996