13 lines
572 B
Text
13 lines
572 B
Text
shader_type canvas_item;
|
|
|
|
uniform sampler2D pattern_texture : source_color, repeat_enable, filter_nearest;
|
|
uniform vec2 source_tile_size = vec2(128.0, 128.0);
|
|
uniform float display_scale : hint_range(0.5, 2.0, 0.05) = 0.85;
|
|
uniform vec2 scroll_velocity_pixels = vec2(-7.0, -5.0);
|
|
|
|
void fragment() {
|
|
vec2 viewport_pixels = 1.0 / SCREEN_PIXEL_SIZE;
|
|
vec2 display_tile_size = max(source_tile_size * display_scale, vec2(1.0));
|
|
vec2 moving_pixels = UV * viewport_pixels + TIME * scroll_velocity_pixels;
|
|
COLOR = texture(pattern_texture, moving_pixels / display_tile_size);
|
|
}
|