Screen Space Reflections

Ok, so I’m testing Screen Space Reflection, and they look great as long as you don’t look up or down. The problem ofcourse is that they render reflections only for objects that are visible directly in the canvas. My question is :
Is it possible to make Screen Space Reflections render on a Canvas with a greater field of view and greater resolution and then crop the part of it that corresponds to the actual Canvas FOV and resolution?



In Unreal Engine there is a setting about the size of the post processing volume, which I’m not really sure what it doesn, but I think it something aong these lines.

I’m using Unity’s Cinematic Image BTW

Upon further investigation, it looks like the unreal “Screen Percentage” is just super sampling for better quality, and is not implementation of what I was thinking. Anyone, do you think this suggestion is at all possible, and will it work how I imagine it?

There is a solution to this, but it’s …not a good one. You can render the main camera at a much higher FOV/resolution, and then display that in the center of another camera. That would effectively bring those clipped parts back into view, and thus into the screenspace reflections. The massive downside to this is that it can slow down your framerate. A lot.

It would help on the edges of the screen, but you would still get lots of missing reflections where the reflected surfaces aren’t visible at all from the players position.

Thanks, this is a very simple solution, I will definitely try it. Unfortunately it will likely really have too bad of an effect on performance, but it’t worth trying it out.

Yeah, I know, but parts that are the underside of an object tend to be less distracting when missing in the reflection, cause when the edges are missing the surface is greater. Also the missing underside of objects is easier to mask with reflection probes, as far as I’ve tested it.

I’d say a fallback to cubemap reflections and/or planar reflections (which Unity doesn’t have by default) is the proper way to go. A bit of a soft falloff close to where the screen space reflection is likely to fail also helps to hide artifacts. Finally, TAA can be helpful to hide pretty much any type of undersampling artifact. (Unreal uses this to fix up a lot of things.)