Effect Idea: Motion Blur (a proper one)

New releases and general discussions.

Post » Wed Mar 05, 2008 1:23 am

[quote="Attan":67ubteb0]Everything moves a little after i tell it to move.. is that the graphic card?[/quote:67ubteb0]

Yes.
B
2
S
2
G
5
Posts: 391
Reputation: 2,432

Post » Wed Mar 05, 2008 1:34 am

It works on my crappy GeForce4 MX 440. It's a little jaggy though. When I swirl the mouse in a circle it makes short segments of straight lines rather than a smooth curve. If I had a better card and a higher framerate I'm sure it would be a hell of a lot smoother.
Moderator
B
5
S
2
G
6
Posts: 4,348
Reputation: 10,971

Post » Wed Mar 05, 2008 11:51 am

I didn't think it'd work at all on a GeForce 4 MX 440, could you try screengrabbing a long blur so I can see if it's blending it the same?
Scirra Founder
B
359
S
214
G
72
Posts: 22,952
Reputation: 178,600

Post » Wed Mar 05, 2008 5:55 pm

Works on my GeForce4 MX 420 as well. At about 5 fps.

When doing a fast movement, the 'blur' effect looks like a bunch of completely in-focus sprites at low opacity. If moving fast enough, the sprite with mouse movement can have gaps between the steps of the blur.

Is there a possibility of a proper motion blur with pixel shaders? I hear the best way to do it is using a velocity buffer for the pixels on the screen then blurring them with a pixel shader. I doubt the vertex shader approach would work properly for 2D games, but I'm no graphics programmer.
Moderator
B
88
S
32
G
33
Posts: 3,005
Reputation: 27,432

Post » Wed Mar 05, 2008 5:55 pm

Double post. Is there a way to delete posts?
Moderator
B
88
S
32
G
33
Posts: 3,005
Reputation: 27,432

Post » Wed Mar 05, 2008 5:55 pm

Moderator
B
5
S
2
G
6
Posts: 4,348
Reputation: 10,971

Post » Thu Mar 06, 2008 6:07 pm

OK, well 0.92 is out and you can try playing with the motion blur yourself. Motion blur is achieved through an algorithm called temporal antialiasing: this means the framerate is, say, increased by 10x (so it might be running at 750fps). Then every time it draws the screen, it has 10 frames which it blends together equally to make an image that appears blurred according to how fast objects are moving.

To make this work with the mouse, it linearly interpolates the mouse position over these sub-frames because the mouse doesn't update that quickly. This explains why you get straight lines, and it also explains why if you move the mouse or an object extremely quickly, you see it stepping along. This still looks smoother than without motion blur, in my opinion, because you get a sense of the motion as opposed to the object displaying in a sequence of positions. Temporal anti-aliasing isn't perfect - if you don't like what it does you can just turn it off - but I think it really improves the motion and perceived smoothness of most games.
Scirra Founder
B
359
S
214
G
72
Posts: 22,952
Reputation: 178,600

Previous

Return to Construct Classic Discussion

Who is online

Users browsing this forum: No registered users and 0 guests