IS AN EFFECTIVE BLURRING OF POWERFRACTAL NOISE POSSIBLE ?

Started by pclavett, May 23, 2009, 08:55:27 AM

Previous topic - Next topic

pclavett

Hi all !

Can someone tell me if there is a way to 'effectively' blur the powerfractal noise to make it smoother and more 'gradual' other than playing around with the contrast and offset colors ? The goal is to get a gentler and smoother transition for displacement.... a rounder displacement that will have less tendency to spike.

Thanks and have a great weekend !

Paul

PorcupineFloyd

The easiest way to reduce spikes is to lower colour roughness and to increase feature scale so there is a wide amplitude between feature scale and smallest scale.

However I'd also love to see a gaussian blur shader.

Goms

you can use a "compute normal" node with a bigger patch size and "smooth surface first".
Quote from: FrankB
you're never going to finish this image ;-)

MrHooper


pclavett

Hi again !

Thank you for the suggestions and will try them latter to see what comes out ! And yes a blur node would be welcomed and useful for a host of things. let us hope the Planetside guys are listening ! I thought the octave number was automatic and calculated after your chosen disparity between various scale limits were set ??? I have never tried to change the number manually ! Does anyone know if this changes anything and how ??? Will try this as well ! Thanks again !

Paul


Oshyan

My understanding from talking to Matt is that "procedural blur" is in the realm of difficulty of "procedural erosion". Something that's possible but very difficult. Traditional raster-based blur is obviously very easy and common, but raster and vector/procedural are very different.

- Oshyan

Njen

Just to add to what Oshyan is saying, procedural based patterns don't have pixels, but rely on shading an object based on it's position in space. When you blur a raster based image, (very simply) the values of surrounding pixels are summed up and averaged. The output of that average is the new value of the pixel being blurred. Basically it works because there is a finite amount of pixels to calculate. A 24 x 24 image has 576 pixels, so there would be 576 calculations to do.

But procedural shading works in 3D space, and relies on shading points in 3D space. Because there is (theoretically) an infinite number of points, accounting for procedural blurring is a much harder thing to calculate.

There are methods to "blur" procedurals though. If you have ever written shaders for Renderman, for example, there is a handy function called "filterwidth", that does something similar to a 3D "blur". But it's not a true 3D "blur" as it needs pixels, and doesn't work in 3D space. It takes the float value, and returns the approximate amount of the average of pixel values surrounding the float value.