2d blur and Defer atmosphere issue

Started by jdent02, June 06, 2014, 08:22:45 AM

Previous topic - Next topic

fleetwood

Interesting - thanks for your reply

Matt

2D Motion Blur should work on clouds. 2D (post processed) motion blur on clouds can have some problems because the clouds are semi-transparent entities with many overlapping points that can potentially move at different speeds or even different directions, but in many cases the results are acceptable.

Your scene looks like it should be able to render OK with 2D Motion Blur, but clearly it's not, so I think there's a bug here. I'm investigating now.

Matt
Just because milk is white doesn't mean that clouds are made of milk.

Matt

Quote from: jdent02 on June 06, 2014, 08:22:45 AM
I remember seeing something in the wiki about defer atmosphere allowing for 'volumetric motion blur' but it doesn't mention anything about the 2d not working with it.

For true volumetric motion blur you need to use Defer Atmo/Cloud and use the 3D Motion Blur method. But separate from that question, there is still a bug here with the 2D motion blur that I need to track down.
Just because milk is white doesn't mean that clouds are made of milk.

jdent02

Quote from: Matt on June 09, 2014, 06:30:04 PM
Quote from: jdent02 on June 06, 2014, 08:22:45 AM
I remember seeing something in the wiki about defer atmosphere allowing for 'volumetric motion blur' but it doesn't mention anything about the 2d not working with it.

For true volumetric motion blur you need to use Defer Atmo/Cloud and use the 3D Motion Blur method. But separate from that question, there is still a bug here with the 2D motion blur that I need to track down.

Thanks Matt!  Just out of curiosity can you say what the difference is between normal 3d blur and volumetric 3d blur?  The wiki dips its toes in but doesn't say very much about it.

Oshyan

There are only 2 types of Motion Blur: 2D and 3D. 3D is inherently "volumetric".

- Oshyan

jdent02

Quote from: Oshyan on June 09, 2014, 11:18:47 PM
There are only 2 types of Motion Blur: 2D and 3D. 3D is inherently "volumetric".

- Oshyan

Oh okay, I was thinking there was some difference as Matt said you needed to have defer atmosphere and 3d blur on to get 'true' volumetric blur, implying that the 3d blur with defer atmosphere off wasn't the same thing.

Matt

With Defer Atmo/Cloud turned OFF, the micro-polygon rasteriser projects the static atmosphere/cloud onto the micro-polygon of the terrain, background sphere, and other displaceable objects, and then the 3D motion blur blurs the micro-polygons. So it only gets the blur of the micro-polygon surface behind it. Also realise that if you're rendering with ray traced objects, you get an image where some parts are micropolygon atmosphere (on the pixels with no ray traced objects) and ray traced atmosphere on the pixels where there are ray traced objects.

Here's some more info about Defer Atmo/Cloud which might give some context to what I've just said, although it doesn't talk much about motion blur:

http://www.planetside.co.uk/wiki/index.php?title=Ray_Trace_Objects_and_Defer_Atmosphere/Cloud

Matt
Just because milk is white doesn't mean that clouds are made of milk.

Matt

I've found the source of the problem in your scene. In Terragen 3.1 I made a change so that cloud motion vectors are only calculated if you have a Render Layer with the Cloud 2D Motion Vectors enabled. Unfortunately this affects 2D motion blur as well.

The bug will be fixed in 3.2. You can workaround the problem in 3.1 by assigning a Render Layer to the render node and enabling Cloud 2D Motion Vector on the Render Elements tab. However, 2D motion blur doesn't give you the right amount of blur at the edges of the clouds, where the semi-transparency of the clouds causes the cloud vectors to be mixed with the surface vectors. 3D motion blur is still the only way to properly blur clouds when there is significant overlapping parallax.

Matt
Just because milk is white doesn't mean that clouds are made of milk.

jdent02

Thanks for the quick work Matt.  I think this scene does have significant parallax between the clouds and the terrain so the 2D blur is probably not the way to go.  I've been re-rendering the sequence with 3D blur and everything is working fine without too much of an impact on performance.

Thanks for the explanation of the blur methods too.  I can't say I 100% understand how it works, but it's enough.