Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I am looking for a motion blur technique for real-time games.

I know two techniques, velocity map and accumulation buffer. Velocity map shows very good quality, but doesn't work correctly if objects are moving along curvy path. Accumulating frame-buffer does work, but consumes too much power to get acceptable quality.

Is there any other motion blur technique which can cover this situation?

share|improve this question
1  
Your motion blur is then not camera related. You'd like to "smudge" individual objects (e.g. some fireworks trails that need to show blured trajectory lines?). In this case, the camera can even stand still and the velocity maps would produce accurate results only for small displacements. I can think of a few solutions, but they're all computationally expensive (e.g. line integral convolution which, at the time, was as expensive as the accumulation buffer + post processing done in several steps - cg.inf.ethz.ch/teaching/scivis_common/Literature/… ). –  teodron Jun 9 '13 at 9:15
    
@Eonil, can you go into more detail about what you would use this for? Are there specific kinds of objects, or specific types of motion (e.g. circular) that you're interested in? –  Nathan Reed Jun 9 '13 at 16:34
    
@teodron Yeah I think I will go generating trail shape method if there's nothing better. –  Eonil Jun 9 '13 at 16:34
    
@NathanReed Basically I want something like this. dragonnestmods.com/forum/showthread.php?t=3504 A blade reflection trailing. And also for some fast moving particles. I think this can easily be implemented with various tricks, anyway I just want to know whether there's better and generic method exists. –  Eonil Jun 9 '13 at 16:40
    
@Eonil Ahh, yeah, that sort of extended trail with multiple shifts of direction is best done with special purpose tricks. –  Nathan Reed Jun 9 '13 at 18:00
show 2 more comments

1 Answer

A potential solution is to use a visualization technique involving the rendering of pathlines, streamlines and streaklines. You're interested in rendering pathlines.

Unfortunately, I can't show you a picture of how to achieve this, but I'll explain it shortly:

  1. you need to keep track of the trajectory your sword or swinging object leaves behind. You should record an array of positions (you usually can have a pre-recorded data collection from your animation system): pathPositions[N]
  2. for each segment of your path, pathPositions[k] -> pathPositions[k+1], you must build a quad that's best facing your camera. You must best align this quad by alowing it to rotate against the axis defined by that segment mentioned above.
  3. Now apply a texture onto each quad. The texture should be artistically tweaked to have fading borders so that its middle is solid, highlighting your sword's trajectory.

Of course, you can achieve better results using either spline interpolation or using a higher number of samples.

This way of drawing trails is known in the gaming community as ribbon trails, but the guys in the visualization realm usually refer to it as stream ribbons .

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.