Who said ReShade can't do quality motion blur?

  • luluco250
  • Topic Author
More
7 years 7 months ago #1 by luluco250 Who said ReShade can't do quality motion blur? was created by luluco250
This is a test frame blending shader I'm working on, maybe it's better than the Framework's maybe it's not, the idea is that it collects past frames and blends them.
Really alpha stage but I wanted some feedback.
The main technical issue, which can only be *so much* solved is that low framerates will yield a ghosting effect, but if you can get more than 60 (specially around the 100's) it looks fantastic.

Here's a test version you can get for 3.0: my.mixtape.moe/kacblt.fx
I'd recommend an intensity setting of 0.8.

On the technical part, it's just collecting the framebuffer 4 times on 4 techniques and then blending them in a 5th technique with the framebuffer.
I'm being careful not to introduce input lag as well.
Obviously this isn't exactly the prettiest implementation, but the quality seems to be a bit better than just lerping through the last frames like
lerp(lastFrame, currentFrame, shutterSpeed)

I'm considering implementing some sort of "framerate threshold", similar to what I did on another temporal motion blur shader I have here.
The great thing about this implementation is that it gives you high quality full scene motion blur, as long as you have enough FPS for it.

Here's a gif [HD] :
The following user(s) said Thank You: crosire, andrew, Genrix, Aksine12, PureEvilWindom

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

  • andrew
More
7 years 7 months ago #2 by andrew Replied by andrew on topic Who said ReShade can't do quality motion blur?
Good work ! I was waiting for months, looking for a good motion blur in reshade.
I tested the shader, but did'nt understand, how it works, the image was frozen (ghosting), a bit dark. I have tested on reshade 3.0.7b.

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

  • luluco250
  • Topic Author
More
7 years 7 months ago #3 by luluco250 Replied by luluco250 on topic Who said ReShade can't do quality motion blur?

andrew wrote: Good work ! I was waiting for months, looking for a good motion blur in reshade.
I tested the shader, but did'nt understand, how it works, the image was frozen (ghosting), a bit dark. I have tested on reshade 3.0.7b.


There are 5 techniques to be enabled, you'll get artifacts otherwise.
The actual blending occurs in FrameBlender_Blend, the others are just saving the image at different times.

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

  • Aksine12
More
7 years 7 months ago #4 by Aksine12 Replied by Aksine12 on topic Who said ReShade can't do quality motion blur?
Doesn't seem to work for some reason ,i enabled all five techniques

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

  • Aksine12
More
7 years 5 months ago #5 by Aksine12 Replied by Aksine12 on topic Who said ReShade can't do quality motion blur?
Hey did you update this shader ?

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

  • PureEvilWindom
More
5 years 5 months ago #6 by PureEvilWindom Replied by PureEvilWindom on topic Who said ReShade can't do quality motion blur?
release this shader please...

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

  • unic0rn
More
5 years 5 months ago #7 by unic0rn Replied by unic0rn on topic Who said ReShade can't do quality motion blur?
i've got a feeling the best method for motion blur may be in some form of depth-based masking. you can blur the surfaces in motion then, without introducing ghosting on the edges.

not sure if burnout paradise didn't use something like that, to a degree at least. its motion blur implementation was pretty nice.
The following user(s) said Thank You: jas01

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

  • OtisInf
More
5 years 5 months ago - 5 years 5 months ago #8 by OtisInf Replied by OtisInf on topic Who said ReShade can't do quality motion blur?

unic0rn wrote: i've got a feeling the best method for motion blur may be in some form of depth-based masking. you can blur the surfaces in motion then, without introducing ghosting on the edges.

not sure if burnout paradise didn't use something like that, to a degree at least. its motion blur implementation was pretty nice.

Looking at the gif in the startpost I get the feeling this is just a ghosting result which looks a bit like motion blur. Full screen 'everything moves at the same pace' motion blur is abit like ghosting using a temporal additive blend, which is easy to do (3 lines of code) but real motion blur is different: objects move at different speeds and therefore you need a different approach, one where you need velocities of the various areas that move. This paper is a great start: www.iryoku.com/next-generation-post-proc...uty-advanced-warfare by Jimenez, which builds on the work of McGuire e.a. ( casual-effects.com/research/McGuire2012Blur/McGuire12Blur.pdf )

Having the screen blur a bit when the camera moves is IMHO just ghosting and doable with a temporal blend (as a key ingredient is missing: there's no velocity buffer/data, there's just a frame and a depth buffer, 2 of the 3 components)
Last edit: 5 years 5 months ago by OtisInf.

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

  • e371
More
5 years 5 months ago #9 by e371 Replied by e371 on topic Who said ReShade can't do quality motion blur?
Where is the shader?) The link is 404

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

  • BlueSkyKnight
More
5 years 5 months ago - 5 years 5 months ago #10 by BlueSkyKnight Replied by BlueSkyKnight on topic Who said ReShade can't do quality motion blur?
I have been working on motion detection for other reasons. But, you think this motion blur paired up this Motion Detection shader would help?



Still WIP
Last edit: 5 years 5 months ago by BlueSkyKnight. Reason: Fixed video
The following user(s) said Thank You: canceralp

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

  • BlueSkyKnight
More
5 years 5 months ago - 5 years 5 months ago #11 by BlueSkyKnight Replied by BlueSkyKnight on topic Who said ReShade can't do quality motion blur?
I could not find your code for motion blur so I ended up using my old trails code that I used for light painting. I combined my motion detection code with trails and it seemed to be close to the same effect in your video.

I guess it can be done kind of...... If you people like it. I can fix it up a bit and submit it to the main repository.

press 0 and look at the leaf. It not very many samples. But, it looks almost like Per-object motion blur.


It's kind of hard when working with one past frame like this.

Here is the shader to test.
github.com/BlueSkyDefender/Depth3D/blob/...perimental/Trails.fx
Last edit: 5 years 5 months ago by BlueSkyKnight.
The following user(s) said Thank You: jas01, Apocalypso, luluco250

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

  • jas01
More
5 years 5 months ago #12 by jas01 Replied by jas01 on topic Who said ReShade can't do quality motion blur?
Hey.
I'm interested in this shader for sure. I think you did a very good work here. I think that with your motion detection algorithm done we could finally get a decent motion blur for ReShade.

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

  • canceralp
More
5 years 4 months ago #13 by canceralp Replied by canceralp on topic Who said ReShade can't do quality motion blur?

BlueSkyKnight wrote: I have been working on motion detection for other reasons. But, you think this motion blur paired up this Motion Detection shader would help?



Still WIP

This can even be a used as a base for temporal anti aliasing applications.
Compare current and previous frames and blend accordingly.

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

  • MichaelZFreeman
More
5 years 3 months ago #14 by MichaelZFreeman Replied by MichaelZFreeman on topic Who said ReShade can't do quality motion blur?
I'm interested as well. I'm having to run Assassins Creed Origins limited to 30 FPS (MSI Afterburner) and have been setting it up to basically run as it does on the consoles. Motion Blur and AA. Fake Motion Blur helps but it would be something better would be good. Motion Blur is essential at 30 FPS ... "Even 25 or 30FPS can be totally sufficient in slow or medium-paced games - particularly if the game has motion blur, softer edges, and does not display significant variability or stuttering" - www.tweakguides.com/Graphics_5.html

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

  • luluco250
  • Topic Author
More
5 years 3 months ago #15 by luluco250 Replied by luluco250 on topic Who said ReShade can't do quality motion blur?

MichaelZFreeman wrote: I'm interested as well. I'm having to run Assassins Creed Origins limited to 30 FPS (MSI Afterburner) and have been setting it up to basically run as it does on the consoles. Motion Blur and AA. Fake Motion Blur helps but it would be something better would be good. Motion Blur is essential at 30 FPS ... "Even 25 or 30FPS can be totally sufficient in slow or medium-paced games - particularly if the game has motion blur, softer edges, and does not display significant variability or stuttering" - www.tweakguides.com/Graphics_5.html


To me it's quite the opposite, I find motion blur obnoxious at lower framerates. It's supposed to simulate movement too fast for your eyes to catch, but instead it just looks like a sluggish blurry mess. It also pains me that developers still don't do clamping correctly and we get "squared" motion blur like in Stalker SoC and Deus Ex MD, fixing that with something like Unity's ClampMagnitude() was fun and worked really well.

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

  • Sami 1999
More
5 years 3 months ago #16 by Sami 1999 Replied by Sami 1999 on topic Who said ReShade can't do quality motion blur?

unic0rn wrote: i've got a feeling the best method for motion blur may be in some form of depth-based masking. you can blur the surfaces in motion then, without introducing ghosting on the edges.

not sure if burnout paradise didn't use something like that, to a degree at least. its motion blur implementation was pretty nice.


Reshade's "AdvanceMotionBlur" which is now removed had depth based motion blur. It also didn't blur the whole screen like fake motion blur does.

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

  • MichaelZFreeman
More
5 years 3 months ago #17 by MichaelZFreeman Replied by MichaelZFreeman on topic Who said ReShade can't do quality motion blur?

luluco250 wrote:

MichaelZFreeman wrote: I'm interested as well. I'm having to run Assassins Creed Origins limited to 30 FPS (MSI Afterburner) and have been setting it up to basically run as it does on the consoles. Motion Blur and AA. Fake Motion Blur helps but it would be something better would be good. Motion Blur is essential at 30 FPS ... "Even 25 or 30FPS can be totally sufficient in slow or medium-paced games - particularly if the game has motion blur, softer edges, and does not display significant variability or stuttering" - www.tweakguides.com/Graphics_5.html


To me it's quite the opposite, I find motion blur obnoxious at lower framerates. It's supposed to simulate movement too fast for your eyes to catch, but instead it just looks like a sluggish blurry mess. It also pains me that developers still don't do clamping correctly and we get "squared" motion blur like in Stalker SoC and Deus Ex MD, fixing that with something like Unity's ClampMagnitude() was fun and worked really well.


It's all psychology dependent and based on personal taste. But that article allowed me to grasp the importance of MB for me as I'm not used to 30 FPS (the only reason I use it here is to stabilise AC:O) because I had failed to appreciate why it's use in films and TV makes that media's comparable FPS seem smooth. I think I thought MB was a video game "gimmick" meant to make objects seems to move fast when in fact it has an entire history that goes back to more traditional media like film and TV.

Sami 1999 wrote:

unic0rn wrote: i've got a feeling the best method for motion blur may be in some form of depth-based masking. you can blur the surfaces in motion then, without introducing ghosting on the edges.

not sure if burnout paradise didn't use something like that, to a degree at least. its motion blur implementation was pretty nice.


Reshade's "AdvanceMotionBlur" which is now removed had depth based motion blur. It also didn't blur the whole screen like fake motion blur does.


Why was this version of MB removed ? Is there somewhere I can still get this ?

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

  • Sami 1999
More
5 years 3 months ago #18 by Sami 1999 Replied by Sami 1999 on topic Who said ReShade can't do quality motion blur?

MichaelZFreeman wrote:

luluco250 wrote: Why was this version of MB removed ? Is there somewhere I can still get this ?


The owner never ported it for latest versions I guess. But one user did made it working on latest version of reshade.

Here's the post where you will find the link: reshade.me/forum/shader-suggestions/4302...-for-reshade-3#28022

I think it should be included on Reshade by default.

The following user(s) said Thank You: MichaelZFreeman

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

  • MichaelZFreeman
More
5 years 3 months ago - 5 years 3 months ago #19 by MichaelZFreeman Replied by MichaelZFreeman on topic Who said ReShade can't do quality motion blur?
Thanks. I tried that but could not see it working. Although I wonder if it's subtler than I think. I was just playing Far Cry 3 and got a brief frame freeze while turning around fast, and there it was. MB. I never even knew FC3 had (it's native) MB as it's not explicitly listed in the settings (it's probably grouped with "shaders" or something). So I should probably examine more closely the shader you link.

EDIT: OK, I got it working. For some reason the default settings are turned right down or the effect is so subtle at default setting that a screen shot does not capture it when turning around very fast. Turned things up a bit and now its visible but way too strong. Still tuning.

Actually I got thinking about the title of this thread. The issue of MB with ReShade seems to suggest that MB in games is doing some mysterious thing that ReShade cannot duplicate. As far as I can tell MB is just a shader like any other shader that slightly blurs everything in the entire frame when there is a very fast movement. The effect seems especially accurate, compared to cinematic MB, in FC3 (at least to my eye's).

Has anyone looked at the background of what MB actually *is* ?

"So, essentially, you could make the argument that this is the entire reason why motion blur exists. We’re used to seeing motion blur on moving pictures and images. It gives everything a more natural look because we’ve become accustomed to seeing motion this way as a result of the various shutter speeds of film and video". - www.rocketstock.com/blog/when-to-use-motion-blur/

Of course in a game the "shutter speed" is the time each frame is on the screen so a "quality" ReShade motion blur should probably take account of FPS and frame time and alter the MB accordingly. There's even research such as this ... research.bournemouth.ac.uk/impact/improv...and-special-effects/ - www.tandfonline.com/doi/abs/10.1080/2151237X.2007.10129235

So I don't know why the depth buffer even has to be involved. Just as in traditional photography and film the blur is created by the shutter time, in this case the time a single frame stays on the screen such as 33.3 ms. With emulsion film and photography the entire scene is blurred equally ? So I suppose the effect depends on the "shutter speed" (frame time) as well as how quickly the in game "camera" is moving and/or objects relative to it. This seems closer to what MB actually is although I'm still thinking about this.
Last edit: 5 years 3 months ago by MichaelZFreeman. Reason: Got shader working plus more about MB.

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

  • BlueSkyKnight
More
5 years 4 weeks ago - 5 years 4 weeks ago #20 by BlueSkyKnight Replied by BlueSkyKnight on topic Who said ReShade can't do quality motion blur?
So Velocity Buffer is necessary to have any kind of hope for decent Motion blur. Even if you make a pseudo motion buffer in reshade it will still break down when High-speed elements are introduced to the scene. Also Panning your Cam can cause this pseudo motion buffer to break down. You can estimate the speed and maybe work around this issue. But, I doubt it worth the effort.

With that out of the way. I still made the shader even with this fault for testing.

So let's talk about the Mask. Used in this image.

The Image above highlights what gets blurred and what not getting blurred. I took it when Swinging my weapon in Game. This is particularly hard to capture because it had to be in motion. It's Kind of fast. Reaching the limits of what the mask can well mask properly. But in this case, it gives a good result. Even the Drone in the background is getting the blur applied. Also the tree with the moving leaves.

Anyways keep expectations low and try this out. Keep in mind Depth Buffer access is necessary.

github.com/BlueSkyDefender/Depth3D/commi...8a4fd8e6841698534408

Pseudo Velocity Buffer was a side effect when working on a TAA shader.
Last edit: 5 years 4 weeks ago by BlueSkyKnight.
The following user(s) said Thank You: Scorpio82CO

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.