JeDi wrote:Is this about the same technique as used in "Project Offset"? Cause then we should really apply it to a simple particle system as they did, cause I remember my jaw dropping to the floor when I saw the difference. And indeed, being able to "freeze" the effect was one of the most impressive parts of the demo.
Thanks to point me to "Project Offset"(.com) again. I haven't been there for a long time, and now I watched the movie you are talking about. I had to download the HD 720p version to actually see how / what they do to blur their particle systems.
Project Offset - SneakPeek 2 (topmost video, a real MUST-HAVE-SEEN thing)
My current PMB implementation actually does consider full WorldViewProjection matrix changes (movement, rotation, scaling -> from SceneNodes). The same applies for "Project Offset" PMB.
BUT they have also managed to include skeletal animation (you see it at the very beginning of the movie, where the ogre (:)) shakes it's head).
...back to particles

, as I read your post / watched the movie I already thought, it couldn't be that they really store the WVP for each of the particles (surely more than 500) and it's done in realtime.
Therefore I downloaded (as said) the HD version of the video to see more clearly how the blurring of the particles is achieved, and it confirmed my thoughts.
It looks like they don't consider the full WVP for blurring, but only the World component (movement in world space). Also the actual blurring of the particles isn't done as a post processing effect (like the rest of the scene), but with a PixelShader that just applies an fading out alpha at each particle. This alpha effect seems to be adjusted by particle speed. The higher the speed of the particle, the more the alpha fading takes place.

You see that the original shape of the particles (rectangular) isn't changed and therefore I think it's done with the technique described above + the fact that the motion blur for the particles can be paused is another indicator. (The rest of the scene doesn't stay blurred in the video)
sinbad wrote:Wiki article?
Basically a good idea, though I will wait until the whole demo is finished and I'm satisfied with the result

BTW, I could need some clearifying words from you, because I'm not very sure if my plan to get skeletal animation working is very right.
I recognised that my current PMB implementation doesn't handle an Entity's animation (skeletal in this case as said). I simply tried out the ninja.mesh. First I thought that it would work nontheless, because I thought that my vertex shader would get the already transformed vertex positions. It seems that this is not the case, because the animation causes no blur at all.
When I recognised this, the line "includes_skeletal_animation true" of the ogre manual (material script section) poped to my mind.
@ sinbad: my idea is to implement the skeletal animation as stated in the manual in hardware. Then I would have the animation transformed vertex position in my shader and the blurring should work as expected.
Is this theory right and is it the only / best way to go, or is there another solution?
@ Kojack: the problem you get is really weird, I just compiled the binary release of the demo + included an option to show the two velocity rendertextures I'm using. (F3 shows the debug overlay, F4 hides it)
PixelMotionBlur Demo binary (win32)
It would be great if you could tell me if both rendertextures display alright on your system. Both should show a black/blue shot of the scene with the ogreheads.
thanks for the replies, I hope to showcase skeletal animation / particle motion blur soon
