first commit

This commit is contained in:
Ugric
2026-03-02 02:17:04 +00:00
commit 5d56860f3a
813 changed files with 41799 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
//SHADER ORIGINALY CREADED BY "paniq" FROM SHADERTOY
//MODIFIED AND PORTED TO GODOT BY AHOPNESS (@ahopness)
//LICENSE : CC0
//COMATIBLE WITH : GLES2, GLES3, WEBGL
//SHADERTOY LINK : https://www.shadertoy.com/view/MdcGzj
shader_type canvas_item;
uniform float color_depth :hint_range(0.0, 255.0) = 100.0;
uniform float color_number :hint_range(0.0, 50.0) = 20.0;
const mat3 rgb2ycbcr = mat3(
vec3(0.299, -0.168736, 0.5),
vec3(0.587, -0.331264, -0.418688),
vec3(0.114, 0.5, -0.081312)
);
const mat3 ycbcr2rgb = mat3(
vec3(1.0, 1.0, 1.0),
vec3(0.0, -0.344136, 1.772),
vec3(1.402, -0.714136, 0.0)
);
// simulating 8:4:4 compression ratio (16bit)
vec3 compress_ycbcr_844 (vec3 rgb) {
vec3 ycbcr = rgb2ycbcr * rgb;
ycbcr.r = floor(ycbcr.r * color_depth + 0.5) / color_depth;
ycbcr.gb += 0.5;
ycbcr.gb = floor(ycbcr.gb * color_number + 0.5) / color_number;
ycbcr.gb -= 0.5;
return ycbcr2rgb * ycbcr;
}
void fragment(){
vec2 uv = FRAGCOORD.xy / (1.0 / SCREEN_PIXEL_SIZE).xy;
vec3 rgb = texture(SCREEN_TEXTURE, uv).rgb;
rgb = compress_ycbcr_844(rgb);
COLOR = vec4(rgb,1.0);
}