hi, i hope you're having a good day so far! when taking screenshots with SRWE, do you tweak your shaders at your natural or hotsampled resolution? i've been tweaking from my natural rez, and then hotsampling, because i prefer to tweak while seeing my full window for composition. Doing this however i notice that my shaders tend to look quite different at the larger rez. do you have any tips from your own experience on tweaking shader and hotsampling?
This is a really great question, thank you for asking it!
Big long reply under the cut!
I tweak shaders at my normal resolution, because that way a) I can see the whole screen, and b) because when I hotsample everything grinds to a halt and it would be too difficult.
The reason some things will look different is generally because some shaders don’t scale with resolution.
The best way to visualise this is if you can imagine drawing a 500x500px square on your screen and think about how much of the screen it would cover, when you hotsample that square remains 500x500px while the rest of the image gets bigger, so the area it covers is now smaller.
For some shaders, like ambient light for example, it means the bloomy parts will cover a smaller area in the hotsampled image and end up looking tighter and brighter as a result, and less soft and hazy.
I don’t have a definitive list of which shaders this happens to, but certainly ambient light and others with a hazy, bloomy effect are generally affected. Also, the original DoF shader (the one with Matso, Marty McFly’s ADoF, Ring DoF etc) becomes weaker when you hotsample. The new ADoF in the qUINT pack does not have this problem (although the additional gaussian blur you can add does, but it’s not as noticeable), and neither does Cinematic DoF. I don’t tend to notice a difference with MXAO either, but it does happen to the game’s own ssao (another reason to turn that ugly abomination off!).
So, what can we do about it? Unfortunately the reason this happens is all down to how the shaders are written, and it would require some pretty hefty knowledge of the shader language to rewrite it, and there may well be reasons why the shader authors haven’t been able to in the first place.
That leaves us with trying to mitigate as best as possible the final results.
The first thing to know is that you’ll probably end up taking multiple hotsampled shots while you finesse the final values, so buckle in and be patient!
With something like the original DoF shader, you can generally just increase the blur radius (that controls the overall blur strength) in line with how large you’re going to be hotsampling. I don’t think it’s always an exact 1:1 but it’s close enough, and you can more or less judge how it will look. My usual wide shots are composed at 2560x1280 and I hotsample to 6000x3000. With the original ADoF shader, if my blur radius is at 10 to begin with, I might increase it to around 40-45 and see how that looks in the final picture. Obviously, you’ll end up with something you don’t like the look of at your normal res, but the hope is it’ll look good at your hotsampled res. It does take some trial and error though, as I said. I’ve taken 10 or more shots in the past, switching in between normal and hotsampled to get the right values. Patience!!
For shaders with hazy bloom, like ambient light, it’s more difficult. Simply increasing the strength doesn’t have the desired effect, because it’s not the strength we’re losing when we hotsample but rather the spread of the bloom. I’m yet to find a foolproof way of compensating, so I generally have ambient light and a second bloom shader that I use oftentimes together that, when combined, get me roughly where I want to be. But it does require compromise and reining in your expectations. Sometimes you might find you want to keep the hotsampled image smaller than you would ordinarily go so as to keep the bloom intact as much as possible, but that might sacrifice image quality too much elsewhere. It’s a balancing act, I’m afraid.
My ReShade preset has a whole heap of shaders that I turn on and off individually depending on what I need. I certainly don’t play with them all turned on. MXAO, DoF, ambient light and the second type of bloom are ones I never keep on during Live mode. Now I’m used to the way the shaders react when hotsampled it means I can adjust them at my normal res having a general understanding of what’s going to happen to them at larger sizes. It means that sometimes my preset doesn’t always look exactly as I might want at normal res, because I’ve set it up to look good hotsampled. Sometimes it means my final images won’t look quite as I like because I’ve had to make a compromise somewhere along the way.
I hope there’s some useful information here for you. I’m sorry there is no definitive answer to making shaders perform the same at all resolutions. Back before MXAO appeared on the scene there was a shader a little like the main DoF shader, which had several types of AO to choose from (my first TS4 ReShade preset, Height of Summer, used SSAO from that shader–wow, memories!). From what I remember, they didn’t scale with resolution, which made things altogether more complicated. Thankfully MXAO does scale pretty well. Maybe in time future revisions of other shaders will scale too.