15 lines
569 B
Plaintext
15 lines
569 B
Plaintext
shader_type canvas_item;
|
|
|
|
uniform sampler2D SCREEN_TEXTURE: hint_screen_texture, filter_linear_mipmap;
|
|
|
|
uniform int pixel_size : hint_range(1, 64) = 4; // Pixel size
|
|
uniform vec2 screen_size = vec2(1920.0, 1080.0); // Screen size (set manually)
|
|
|
|
void fragment() {
|
|
//Pixel coordinates in screen space
|
|
vec2 pixel_coords = floor(FRAGCOORD.xy / float(pixel_size)) * float(pixel_size);
|
|
// Convert pixel coordinates to UVs for screen texture
|
|
vec2 uv = pixel_coords / screen_size;
|
|
// Get color from texture screen
|
|
COLOR = texture(SCREEN_TEXTURE, uv);
|
|
} |