Download

Ssr +20%

Hi,
I’m wondering if it would be possible to increase the size of the screenspace reflection capture calculation areas to get rid of the fairly annoying “fade in” effect of screenspace reflections? You know, when you rotate the camera you can see the reflections fading in and out at the edges of the screen, which doesn’t look very nice.

My thinking is that maybe it would be possible to have a slider that increases the SSR calculation area to expand beyond what is shown on screen, and add something like 10% (I’m just guessing at the exact numbers here, but it should be fairly easy to to see how much is needed) extra on each side which is not shown on screen but is used to calculate SSR. I know it would be more expensive to calculate, but we’re in the position of being able to get our customers to buy the hardware needed, and for our projects it would probably be worth the cost, since a standard project we make usually render at above 120 fps steady in VR mode anyway. Many times we make prerendered videos, and don’t mind if it takes a little more time to render.

I hope the image below illustrates what I mean.

Well, in case of still images and videos renderer out of the engine, you could raise the resolution and the field of view a bit and then crop the image in post-processing? Of course for realtime presentations this is not possible, although maybe with an overlay that hides those effects. But yeah, an internal solution would be great :slight_smile:

Yes, that would work for prerendered, but since most of our presentations rely heavily on the interactive part of the experience, it would be really nice to get this function. And it would be nice to not have to do so much post production work on the videos =)

Problem is that there isn’t data in screenspace after edges. So you would need to whole viewport bigger and also pay cost of shading of that area. You can probably do the cropping at post process stage.

I’m fully aware of this, and what you’re writing is exactly what I’m asking for. Both my company and our customers have really powerful computers, and we’re only optimizing it for those (we’re not making games, mobile or web stuff) so we’re prepared to pay the performance cost. I’m not an expert on how screenspace reflection are calculated, and it might be that a lot of code would have to be rewritten, but on the other hand it might be easy to do, and in that case it would be really nice to have a checkbox or slider that you can activate if you want it.

It’s fairly simple to do what you are asking… here is a cropping post process material:
ssr_crop.jpg
I set the scalar value here to 0.9 (meaning 10% crop).

Then you should increase the screen percentage setting to 110 (meaning 110% resolution).

However screen reflections are screen based so this is only going to help with the edges, if you need for example your floor to reflect your ceiling while looking downwards that simply isn’t going to happen with SSR and you should look into cubemap captures or other methods to fake them.

It’s the edges that bother me, since it’s quite visible when the reflections fade out on the sides. Missing reflections from the ceiling and such are not a problem as long as it’s consistent.
Thx for the picture, a question though; what happens if I run this in fullscreen? Won’t there be a black border around the game window? Borders would be unacceptable, so I suspect your solution is not what I’m looking for.

Nope, there won’t be any borders with this.

Awesome, I’ll try that then! Thx for the help =D

I’ve tried your little trick and it works perfectly =D No more reflections that fade out at the edges of the screen =D

@TK-Master I roamed your YOUTUBE videos and wow, your ocean shader is outstanding…! Can you send some of your skill my way please! Maybe even loan it to me for about a month? Being silly, I’m sure practice is the key…

teak

Sorry for necro this thread but TK-Master how to you connect this material with post process, ScreenPositsion node has changed little bit seems to me. I too want to remove that horrible screen edge ghost effect.

You put this material in Blendables Section on your post process volume in the scene.

That i found, already did but then inside postprocess everything is yellow after adding material. What i miss?

If it’s yellow it usually means there’s something wrong with the material. Maybe you forgot to set it as PostProcess in the material editor?