[gd_resource type="Shader" format=3 uid="uid://dvdm8x66gwu2v"] [resource] code = "shader_type canvas_item; uniform vec2 stars_speed = vec2(0.0); uniform float stars_density: hint_range(0.0, 1.0, 0.001) = 0.01; varying vec4 modulate; varying vec2 position; // https://thebookofshaders.com/10/ float random(vec2 st) { return fract(sin(dot(st.xy, vec2(12.9898, 78.233))) * 43758.5453123); } // Called for every vertex the material is visible on. void vertex() { modulate = COLOR; position = VERTEX; } // Called for every pixel the material is visible on. void fragment() { vec2 uv = (position + TIME * stars_speed) * TEXTURE_PIXEL_SIZE; uv = fract(uv) * step(random(floor(uv)), stars_density); COLOR = texture(TEXTURE, uv) * modulate; }"