How to create a fake screen reflection?

Godot Version

4.7

Question

I was wondering how would i be able to create a fake screen reflection in 3D space, it dosen’t have to reflect what’s in front of it just shows the surface is “shiny” and that light can reflect on it
something akin to this:


But black color

Either use a ReflectionProbe node to generate accurate reflections

Or use a matcap shader to get cheap reflective-looking materials

Thanks, i like the second approach more, but i don’t know how write shaders i’m still new to it, so if you could direct me on the steps to make that cheap effect

The matcap page has a GLSL example, it might look like this when converted to Godot

shader_type spatial;

uniform sampler2D matcapTexture: source_color;

void fragment() {
    highp vec2 muv = NORMAL.xy * 0.5 + vec2(0.5);
    ALBEDO = texture(matcapTexture, vec2(muv.x, 1.0 - muv.y)).rgb;
}

Keep in mind the reflection probe method uses what is already in the engine, you are paying for reflections as is, this matcap method is a cheap cost on top of what already exists. You won’t get better framerates using this method, but you probably won’t get much worse.

i’m using it because it looks nicer and fit the asethetic i’m going for it looks good now thank you