19 lines
379 B
Plaintext
19 lines
379 B
Plaintext
shader_type canvas_item;
|
|
render_mode blend_premul_alpha;
|
|
|
|
uniform float pixel_size : hint_range(0.1, 1000.0) = 1.0;
|
|
|
|
void fragment() {
|
|
vec2 pixel_scale = SCREEN_PIXEL_SIZE * pixel_size;
|
|
vec2 pixel_uv = floor(SCREEN_UV / pixel_scale) * pixel_scale;
|
|
|
|
vec4 color = texture(TEXTURE, pixel_uv) * COLOR;
|
|
|
|
#ifdef ALPHA_CLIP
|
|
if (color.a < 0.001)
|
|
discard;
|
|
#endif
|
|
|
|
COLOR = color;
|
|
}
|