diff options
Diffstat (limited to 'src/render_helpers/shaders/resize.frag')
| -rw-r--r-- | src/render_helpers/shaders/resize.frag | 43 |
1 files changed, 6 insertions, 37 deletions
diff --git a/src/render_helpers/shaders/resize.frag b/src/render_helpers/shaders/resize.frag index d77b9163..d1ed30fe 100644 --- a/src/render_helpers/shaders/resize.frag +++ b/src/render_helpers/shaders/resize.frag @@ -1,41 +1,10 @@ -#version 100 +vec4 resize_color(vec3 coords_curr_geo, vec3 size_curr_geo) { + vec3 coords_tex_prev = niri_geo_to_tex_prev * coords_curr_geo; + vec4 color_prev = texture2D(niri_tex_prev, coords_tex_prev.st); -precision mediump float; + vec3 coords_tex_next = niri_geo_to_tex_next * coords_curr_geo; + vec4 color_next = texture2D(niri_tex_next, coords_tex_next.st); -varying vec2 v_coords; -uniform vec2 size; - -uniform mat3 input_to_curr_geo; -uniform mat3 input_to_prev_geo; -uniform mat3 input_to_next_geo; - -uniform sampler2D tex_prev; -uniform mat3 geo_to_tex_prev; - -uniform sampler2D tex_next; -uniform mat3 geo_to_tex_next; - -uniform float progress; -uniform float clamped_progress; - -uniform float alpha; - -vec4 crossfade() { - vec3 coords_curr_geo = input_to_curr_geo * vec3(v_coords, 1.0); - - vec3 coords_tex_prev = geo_to_tex_prev * coords_curr_geo; - vec4 color_prev = texture2D(tex_prev, vec2(coords_tex_prev)); - - vec3 coords_tex_next = geo_to_tex_next * coords_curr_geo; - vec4 color_next = texture2D(tex_next, vec2(coords_tex_next)); - - vec4 color = mix(color_prev, color_next, clamped_progress); + vec4 color = mix(color_prev, color_next, niri_clamped_progress); return color; } - -void main() { - vec4 color = crossfade(); - - gl_FragColor = color * alpha; -} - |
