[Request] Downsampling (not the one we all know)

  • canceralp
  • Topic Author
More
4 years 5 months ago - 4 years 5 months ago #1 by canceralp [Request] Downsampling (not the one we all know) was created by canceralp
Hi all,
I have been imagining about a shader which "resizes" the image (by bicubic, Lannczos or Gaussian methods, or any other methods I know not) and present the other shaders that as the input. May someone please look at this idea and consider making such a thing (assuming it is possible).

Let me try to explain it with an example: imagine this is my active shaders list;
X
Y
Z
Re-Scaler (That's the one I'm asking for)
Q
W
R

Let my in-game resolution be 2560x1440. And let's enter Re-Scaler 1920x1080 values. Re-Scaler scales the image to 1920x1080 with Bicubic or Lanczos (or any other filter type). What happens here is; X, Y and Z reads my game as 2560x1440 and Q, W, R reads the game as 1920x1080 (they actually read what Re-Scaler gives them, not Reshade) and operate accordingly.

Possible advantages of this:
1) Multiple shaders (or heavy shaders alone) will be lighter to run. 4-5 Shader that take less than 1ms to run at 1080p can run in 2.5ms at 4K. However, keeping them at 1080p will save performance.
2) When VSR/DSR is used in games, Moire Patterns can occur. A gaussian Blur filter at the native resolution of the screen will reduce it.
3) VSR/DSR are very good but they have their own conversion mistakes and the final image can still be a little aliased due to rescaling. A native resolution SMAA/FXAA would help with the final result.
4) In deferred rendered games, materail shading resolution is sometimes in 2x2 size. This causes specular aliasing to have different resolution than geometry and texture resolution. Because specular mistakes are generally bigger than 1 pixel size. A lower resolution anti aliasing can help with that, too.

I have tried some shaders called Pixelizer and Downsampler but none of them worked that way. None create a resampled image and tell the after shaders to work with it.

What are your thoughts? Is it doable (considering Reshade allows a shader to supply information/new resolution to other shaders, otherwise my idea is a no go)?
And, would someone consider writing the code, please :)?

Thanks!
Last edit: 4 years 5 months ago by canceralp.

Please Log in or Create an account to join the conversation.

We use cookies
We use cookies on our website. Some of them are essential for the operation of the forum. You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.