I am trying to create a reflection shader attached to a ColorRect
that reflects the portion of the screen immediately above it.
Here is a diagram showing the intended behavior:

What I have managed to achieve, however, looks like this:

I can only see the top of my triangle in the reflection.
In other words, I am not reflecting across the axis formed by the top of the ColorRect
.
Here is my shader:
shader_type canvas_item;
render_mode unshaded;
void fragment(){
vec2 uv = SCREEN_UV;
float y = 1.0 - uv.y;
COLOR = vec4(texture(SCREEN_TEXTURE, vec2(uv.x, y)));
}
How can I modify this shader to always reflect the screen across the top of the Color Rect?