Archive 17/01/2023.

Anyone implement a motion blur shader?

GodMan

I am recreating a game from the original xbox and I believe one of the post processing effects used motion blur. I could be wrong though. Here is a screenshot.

Modanung

Is that Soul Reaver? :slight_smile:

About the blur: did you try a search?

GodMan

Yes it’s Soul Reaver.

I did find some results but some of the links were broken.

Modanung

Is this not the motion blur you’re looking for?

GodMan

They did a good job on the motion blur. After running the demo that effect does not seem like the one in the picture above. The picture above looks like it uses a overblown blur shader, but it is hard to tell.

GodMan

Okay so after lowering the samples in the shader I got something closer to my screenshot above. However I wonder what would be the best way to make it constant. The effect in the demo is applied to movement and not constant. Which is what motion blur is really for.

Bananaft

I believe this type of yearly 2000s motion blur is done by adding new frame on top of previos one. What renderpath are you using?

GodMan

I am using direct3d9.

Bananaft

Oh ok, nevermind. I just made it but for openGL. Sorry, I don’t have dx version ready at hand.

You have to convert copyblur.glsl to hlsl. Should be easy. I just took CopyFramebuffer and added a few lines.
Here how it looks like, I hope that’s what you are looking for. You can also try different blending methods.

Modanung

@Bananaft What he said.
And if you intend to enslave all of humanity, be sure to add a stereoscopic option. People would donate blood just to walk around in that. :pill:
If you plan on making it open source, btw, I’d love to contribute. :slight_smile:

Bananaft

Thank you. You already contributed by contributing Urho.

GodMan

Looks great. How much would I have to change for it to work on direct3d9. The shader will not be hard for me to adapt. I have a lot of experience with hlsl.

Bananaft

just convert the shader and it should work.