Previous frame blur?

Hey guys,

I’m not sure if this shader already exists or how hard it’d be to do in jME3… thought I’d get some suggestions before spending lots of time trying to implement it. I’d like a form of blur that overlays the previous few frames (in increasing transparency) on top of the current one, kinda like 6:40-6:50 in this video:

[video]http://www.youtube.com/watch?v=JVEeiNNfEGI[/video]

The commentator says “motion blurry”, but I don’t think it is technically motion blur…?

Thank you for any assistance :slight_smile:

That’s motion blur yes.
I still have 2 implementations that have been posted here, one by kwando and the other by phate666 who left the community.
Both are nice but basic. They just account for the camera movements, so basically if the camera stays still, nothing happens.
You can try them as a basis
here is phate’s implementation that I modified so that it performs faster
http://hub.jmonkeyengine.org/forum/topic/22968/#post-157830

You can find @kwando’s implementation here
http://hub.jmonkeyengine.org/forum/topic/wip-atmospheric-scattering-and-motion-blur/
This one gives better results IMO, but has some frame rate dependency so you might want to set your framerate to a fixed value.

Getting a “proper” motion blur involves rendering a velocity texture of the scene (of course this fits better in a deferred rendering process, but can be done in a forward one). This texture is the representation of the movement of objects on screen since last frame.
You’ll find more information on the technique if you search for “glsl motion blur based on velocity” or things like that.

EDIT : maybe this one can help, not sure it’s complete though Mostly Programming
it uses a different approach, by only storing the previous frame’s model view projection matrix ( our WorldViewProjectionMatrix)

2 Likes

Wow, thanks :slight_smile: Been a bit crazy here at the house (son is sick :frowning: ) but I’ll try this out when things clear up :slight_smile: