motion blur
hello,
i just want to move some huge picture around
if it moves to a different spot i would like to have some typically Aftereffekts motion blur on it.
has anyone ever written a script for that ... or idea how i can realize that ?!
thanks
this is a way to do it http://www.autofasurer.net/wp/?p=11
I don't know whether it's the best or easiest way, but it works ;)
On 05 May 2008, at 13:39, hans wrote:
>
> hello,
>
> i just want to move some huge picture around
> if it moves to a different spot i would like to have some typically
> Aftereffekts motion blur on it.
>
> has anyone ever written a script for that ... or idea how i can
> realize that ?!
>
> thanks
jit.wake and jit.fastblur do a blur effect.
Because of the not so blurry blur externals like [jit.fastblur] i use [jit.gl.imageunit] - only MacOS X tiger and later :( - with effect 39 Gaussian Blur when i need blur.
When you put these togheter with [jit.slide] i think you can get a nice movie motion blur. I will make a test later.
[jit.qt.movie]
> [jit.slide]
> [jit.gl.imageunit]
> [jit.gl.videoplane]
The best blur I've found is cascaded gaussian filters
[jit.gl.slab @file cf.gaussian.2p.jxs]
|
[jit.gl.slab @file cf.gaussian.2p.jxs]
|
[jit.gl.slab @file cf.gaussian.2p.jxs]
|
[jit.gl.slab @file cf.gaussian.2p.jxs]
With this setup you alternate X, Y in the width of the blur. Set the
first 2 to a smaller radius and the last 2 to a larger radius.
wes
On Mon, May 5, 2008 at 8:25 AM, bart wrote:
>
> Because of the not so blurry blur externals like [jit.fastblur] i use [jit.gl.imageunit] - only MacOS X tiger and later :( - with effect 39 Gaussian Blur when i need blur.
>
>
> When you put these togheter with [jit.slide] i think you can get a nice movie motion blur. I will make a test later.
>
>
> [jit.qt.movie]
> > [jit.slide]
> > [jit.gl.imageunit]
> > [jit.gl.videoplane]
>
>
>
I don't know if OpenGL could do anything like motion vector based motion blurs, but that would be awesome.
Here's what I mean.
The only programs I know that create motion vectors are Mental Ray and Nuke. Unfortunately, it might be too slow for anything realtime.
It's certainly possible in real-time. The big trick though it getting
that vector data. When you draw geometry, this information isn't
available. Somehow you have to make it available. Once you have it,
doing the blur should not be terribly difficult.
wes
On Mon, May 5, 2008 at 11:06 PM, Don K wrote:
>
> I don't know if OpenGL could do anything like motion vector based motion blurs, but that would be awesome.
>
> Here's what I mean.
>
> http://www.alamaison.fr/3d/lm_2DMV/lm_2DMV_ref.htm
>
> The only programs I know that create motion vectors are Mental Ray and Nuke. Unfortunately, it might be too slow for anything realtime.
> --
> -DonK
>
>
>
I don't know a whole lot about OpenGL shading, but is this possible to implement in a shader? It seems like it would be, afterall, it would only really need red and green to hold the XY data since Z isn't used in screenspace stuff.
I knew I should have paid attention in my math and programming classes...
Quote: wesley.hoke@gmail.com wrote on Mon, 05 May 2008 23:17
----------------------------------------------------
> It's certainly possible in real-time. The big trick though it getting
> that vector data. When you draw geometry, this information isn't
> available. Somehow you have to make it available. Once you have it,
> doing the blur should not be terribly difficult.
>
On Tue, May 6, 2008 at 11:14 PM, Don K wrote:
>
> I don't know a whole lot about OpenGL shading, but is this possible to
> implement in a shader? It seems like it would be, afterall, it would only
> really need red and green to hold the XY data since Z isn't used in
> screenspace stuff.
>
>
I've been reading up on motion blur lately, because I wanted to implement a
high quality object based motion blur, but I haven't found the time to start
on it. Afaik there are 2 different approaches using shaders.
One using plain vertex and fragment programs to do geometry and shading
distortion:
ati.amd.com/developer/*Shader*X2_*Motion**Blur*
UsingGeometryAndShadingDistortion.pdf
The other one involving geometry shaders.
I plan to look at the second, because from what I understand the first
approach wouldn't work for rotating objects. This is a problem for some
other motion blur techniques as well, since there would be multiple motion
directions within the same object.
Recently I tried to use the accumulation buffer for doing motion blur. Its
not supported by Jitter atm but you could work around it with RTT. It's
really easy to implement but also really expensive to compute since you
would have to render each frame about 16x to get a somewhat decent result.
The main problem with using Gaussian blur as a post processing effect, is
that the moving object doesn't become transparent, and thus having its
complete motion trail obscure whatever is behind it. Correct me if I'm
wrong.
Cheers,
Thijs
Thnak you for so many replies!
Seems that this is quite an interesting topic..
Im kinda fresh with Max so i dont really get along with some of the stuff youre talking bout ..
anyhow ... what i need is just a motion blur on the X-Axis
ive some picture and wanna move it just on the x-Axis
when it moves to another spot of the image there is suppose to be some motion blur
i dont know, perhaps that is somehow easier to realize
any ideas, or suggestions how to get startet
thanks
On Wed, May 7, 2008 at 1:37 PM, hans wrote:
>
>
>
> any ideas, or suggestions how to get startet
>
>
In that case, you have to choose if you want to go the GPU way. If you're
dealing with large images and you don't need to do matrix processing
afterwards its probably the best idea (reading back from GPU to jitter
matrix is expensive) . Go for the setup Wes described. Brecht posted a nice
example of this technique.
If you want to stay in the CPU side just cascade some jit.fastblur with
@mode 0 (making it horizontal). I think instead of jit.fastblur you can use
jit.convolve with the blur kernels described in the link Andrew posted.
Using a kernel of 1 row will result in blurring in the x direction only.
Good luck.
Thijs
Quote: hairness wrote on Wed, 07 May 2008 14:37
----------------------------------------------------
>
> any ideas, or suggestions how to get startet
>
I'd say the easiest way is to render one jit.gl.videoplane (as shown in the help file) and send the "erase_color 1. 1. 1. 0.2" message to the render object.
Mattijs
just posted something similar, when moving the image (you're changing srcdim right? or you can use jit.rota offset X Y too), then for the blur, try jit.xfade with feedback:
hth, CJ