PDA

View Full Version : high frequency noise in fur animation


wizzackr
01-15-2007, 01:55 PM
ok, for an architectural project we need a lot of savannah to be rendered out in HD (the bloody buidling is sitting right in the middle of nowhere). to do the savannah/blades we used the 'grass' fur pre-set and customized it to suit our intention - nothing too fancy, certainly not realistic.

we render all passes with MR, and the renderlayer for the grass only contains the fur (not even the feedback shape), a use background shader beneath it for compositing purposes and a directional light. fur render option is set to volume, sampling currently at 1,3 @ a contrast set to 0.05,0.05,0.05 in the render globals, still the scanline renderer, no rasterizer. now in the animation we get some serious high frequency noise, which gets worse the further you get to the horizon line - close up to the camera, where you can really make out single blades, everything works ok. we have had similar issues with the very fine displacements on an ocean before, which we blurred out in compositing with a zDepth pass. this does not work here, though, due to the higher contrast in the flicker as well as the fact that we do not want any blurriness in that particular shot.

we already set the noise frequency and amplitude to 0 for tip and base color in the fur description, as i read here on the forums this could cause noise (albeit low-frequency IIRC).

hence my question: how do i get rid of this annoying flicker? brute force and increase sampling? if so, how hight do we need to go and what filter is best for this? or am i missing something fundamental here and the fur sampling is set somewhere else and does not even obey the RG settings?

any help is greatly appreciated, guys - we'er really at a loss here :(

nix21
02-08-2007, 02:41 AM
are you guys agaist using the rasterizer ala the rapidFur settings? Using it I have gotten pretty close results with fur to ones produced with the scanline, less the noise and way too long render times.

ofcourse that was with the Visibility Samples at its highest of 12 and the Shading Quality at 10, and the adjusting the min max AA samples from there. But the times were way better and the quality wasn't much off.

cheerfulskeptic
03-20-2007, 09:16 PM
try unchecking (or checking) the default option "Smooth UV's in your fur - just do whatever is opposite the default value. Our fur was jittering badly, now its not.

Br1
03-21-2007, 11:46 AM
Hi, maybe this can help you, I also got some heavy flickering with the grass preset and Renderman. Solution for me was to change the Baldness value, I think it' s on .5 by default, I pushed to 1 and made sure no noise was present into the baldness details (everything at 0).

Mauritius
03-26-2007, 06:43 AM
If the size of any grass blade in the final rendered image is smaller than a pixel, aliasing will occur. This can be battled using oversampling but if you shoot e.g. 100 samples per pixel, you will still get aliasing if any grass blade is smaller than 1/10 of a pixel in size. Aliasing will manifest itself as flickering in an animation. This is geometric aliasing.
Another problem might be a high frequency texture that is not properly filtered. This is shader aliasing and might add to the geometric aliasing problem.
Shader aliasing should be handled by a good shader, if the pattern is procedural or by texture filtering if the pattern is a texture map. Geometric aliasing, beyond what supersampling can hide, needs to be dealt with using level of detail. For grass blades this means in the worst case to omit the grass geometry altogether from a certain distance and use a surface shader whose BRDF models the appearane of the grass as seen from a distance.
A common trick is to use wider grass blades at a frequency reciprocal to the increase in width. Aka: the farther away the grass gets, the wider the blades become and the fewer there are. If a blades are, in average, 200% as wide as they should, there are, in average only 50% as many. That's the hack used in most VFX facilities these days. It's reasonably easy to implement and gives satisfying results in many situations.


Cheers,

Moritz

MasterZap
03-26-2007, 07:22 AM
For resolving microgeometry, I wholeheartedly recommend the rasterizer!

You can turn up the rasterizer samples quite high (not the shading samples) with little loss in rendering speed, and it will resolve details nicely.

Also, use the detail shadow maps for the lighting, so you do not have to turn up the shading samples to resolve the noise in har raytraced shading.

hair + rasterizer + detail shadows = :love:

/Z

Mauritius
03-26-2007, 07:48 AM
For resolving microgeometry, I wholeheartedly recommend the rasterizer!
You can turn up the rasterizer samples quite high (not the shading samples) with little loss in rendering speed, and it will resolve details nicely.
/Z
As I said, that will only get you to a certain point. A savannah that extends to the horizon will need gazillions of samples to brute-force battle the undersampling artifacts at this distance. Supersampling is a hack. It works well for a furry creature to a certain distance or a strip of lawn. At a certain size (or rather tinyness) of geometry in resp. to a pixel you need proper LOD of some description. See e.g. 'Fake Fur Rendering' for an example of a LOD BRDF for fur. Or use a hack as the one I described.

I don't think supersampling will help the situation the OP described.

Cheers,

Moritz

MasterZap
03-26-2007, 08:02 AM
As we say in Sweden - misunderstand me correctly ;)

I just noticed he didn't use the rasterizer, and was chugging along doing fur at "samples 1 3". You can render fur with the rasterizer with 144 subsamples per pixel faster than that.

YES, it will still likely need a brdf replacement for the really distant fur, or some other kind of hack - agreed.

/Z

As I said, that will only get you to a certain point. A savannah that extends to the horizon will need gazillions of samples to brute-force battle the undersampling artifacts at this distance. Supersampling is a hack. It works well for a furry creature to a certain distance or a strip of lawn. At a certain size (or rather tinyness) of geometry in resp. to a pixel you need proper LOD of some description. See e.g. 'Fake Fur Rendering' for an example of a LOD BRDF for fur. Or use a hack as the one I described.

I don't think supersampling will help the situation the OP described.

Cheers,

Moritz

CGTalk Moderation
03-26-2007, 08:02 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.