rendering fixes

This commit is contained in:
jonathan
2026-01-29 09:50:08 +01:00
parent a128d801be
commit 01812b45c3
2 changed files with 18 additions and 15 deletions
+9 -9
View File
@@ -1,25 +1,25 @@
shader_type canvas_item;
uniform vec2 target_tex_size = vec2(1280,720);
uniform float color_steps:hint_range(1.0, 255.0, 1.0);
uniform float color_min:hint_range(0.0, 1.0, 0.01) = 0;
uniform float color_max:hint_range(0.0, 1.0, 0.01) = 1;
uniform sampler2D color_curve;
void vertex() {
// Called for every vertex the material is visible on.
}
void fragment() {
vec2 texSize = vec2(textureSize(TEXTURE,0)); // For performance reasons, this function should be avoided as it always performs a full texture read. When possible, you should pass the texture size as a uniform instead.
texSize = texSize / 4.;
ivec2 intUv = ivec2(texSize * UV);
vec2 flooredUv = vec2(intUv) / texSize;
//vec2 texSize = vec2(textureSize(TEXTURE,0)); // For performance reasons, this function should be avoided as it always performs a full texture read. When possible, you should pass the texture size as a uniform instead.
//texSize = texSize / 4.;
ivec2 intUv = ivec2(target_tex_size * UV);
vec2 flooredUv = vec2(intUv) / target_tex_size;
vec3 fullColor = texture(TEXTURE,flooredUv).rgb;
//vec3 strechedColor = (fullColor - color_min) / color_max;
vec3 strechedColor = vec3(
texture(color_curve,vec2(fullColor.r,0)).r,
texture(color_curve,vec2(fullColor.g,0)).r,
texture(color_curve,vec2(fullColor.b,0)).r);
texture(color_curve,vec2(fullColor.g,0)).g,
texture(color_curve,vec2(fullColor.b,0)).b);
vec3 scaledColor = strechedColor * color_steps;
vec3 roundColor = round(scaledColor);
vec3 backScaledColor = roundColor / color_steps;