Verify my motion blur idea

Started by
66 comments, last by Tessellator 17 years, 9 months ago
After seeing the motion blur done by project offset, I've been searching for effective ways to do "real" motion blur. It annoys me when articles and demos showcasing this effect cheat by using frame feedback, which just looks horrible. So I've been searching around, and I've found an interesting method that I think might work. I'd like your input on it. Basically, if the game runs at something like 120 fps, or something similar, the extra frames can be divided and rendered to an accumulation buffer. So in the case of 120 fps, the game would render 4 frames to 4 seperate render targets, and then average all of them into the final image, which is then rendered to the screen. This probably wouldn't be the best way to do it, so I'd like some insight on how accurate my idea is. Thanks a lot!
--m_nPostCount++
Advertisement
Ive always been curious about motion blur. In my mind, simply fading one scene into the other SHOULD create true motion blur (isnt that whats going on inside a camera? IE multple 'pictures' of the same scene, shifted slightly?), but youre right, it looks like crap. All other techniques that ive seen involve some complex shader that must be applied to all objects you want to blur, it just seems like such a hassle... I wish there was a more elegant way.

I cant comment on your theory. What exactly do you mean by "rendered to an accumulation buffer". How is that different from "frame feedback"?
My primary reference to this idea is this article. At the end, he posts a link to a demo that looks a lot like true motion blur.

It looks like the main difference is that instead of just blending the previous frame with the current, there are actually multiple frames rendered, averaged together, and then displayed (simulating a real camera).

--m_nPostCount++
Quote:It looks like the main difference is that instead of just blending the previous frame with the current, there are actually multiple frames rendered, averaged together, and then displayed (simulating a real camera).


Yeppers. thats basicly how it works. Basicly real motion blur comes from objects being in motion while the camera shutter is open...so, as you suggest, averageing together multiple renders and displaying the resulting frame is a pretty accurite way to do it.


Fascinating! So this has nothing to do with shaders or individual objects? Its applied uniformly to everything? Now that sounds elegant, checking out the article now...
I thought you might enjoy reading this. It's old now, but it has a good description of several techniques that can be implemented with multiple samples per pixel.
Akk from what ive read, you need to render MANY frames in order to get decent results. Thus youre gonna take a huge hit to fps... kinda discouraging. Does that mean games like project offset are just running at really high fps (like 120+ ), and thats how they get away with motion blur?
@alvaro

that was a interesting article too.. I thought 3dfx was ded though.. heh. Anyway, I didnt quite understand how their "t buffer" would eliminate the need to render multiple frames in order to get motion blur.. Did I miss something?
We are looking to do something similar to this.

Someone asked whether the FPS would have to be insanely high to have this effect look good, and I'd like to point out that it depends on the FPS the game will be locked at. At 30 FPS you'd only need to run the game at about 90 FPS to get 3 render targets to alpha blend together for each frame, which from our tests looks very good. The better the system running the game the more targets get sampled for each frame, and the more accurate the blur.

http://www.100fps.com/how_many_frames_can_humans_see.htm

Here's an interesting link. A game need not run any faster than a film (24 FPS) to communicate enough information about the enviornment if the motion blur is accurate. Our minds are able to use the blur information (assuming it's accurate and not a parlor trick) to fill in the gaps in frames. That's why even high action films aren't dizzying to us.

This topic is closed to new replies.

Advertisement