Jump to content

Procedural Noise using Sparse Gabor Convolution


michael

Recommended Posts

Very interesting!

Thanks for the link, Michael.

Yeah, the claim that it needs no surface parameterization sounds a little "too good" (the feature distribution looks like it's following gradients or something). But I guess the deforming "blobby cube" constitutes a deforming surface, so who knows.<shrug>

Link to comment
Share on other sites

Just use rest coordinates for P and compute from those surely?

Except that would be 3D noise, not 2D. They claim it's a UV-free "surface noise [2D], complementary to solid noise [3D]", which I take to imply a parameterization-free 2D-like noise. But, I guess we'll find out when they post the actual paper...

Link to comment
Share on other sites

well either way if you can calculate it on a static object if that object then starts deforming and you want the noise to stick you just store whatever parameters are needed from the static version, whether that is uv, P or something else doesn't really matter surely?

Link to comment
Share on other sites

  • 3 months later...

Yep, you don't need UVs. As I understand it, It's doing a splatting type algorithm with small patches (they call them kernels) of noise with a user defined noise spectrum. It uses a local projection at each sampled location based on position and surface normal. You can see that fairly clearly in the video (the bit with the meta ball cube at 1:11)

Maybe a good analogy would be to think of using small squares of newspaper to do paper maché on a surface.

I think to get it to stick, you'd probably need an attribute associated with each sampled position on the mesh that doesn't change. It would use that as a seed to their random number generator which drives the noise and splatting. It could be a random number at each point or even the point number/ID, just as long as it doesn't change.

Anyway, that's how I read it from an initial scan of the paper. I might be wrong on some of the details.

Andy

Link to comment
Share on other sites

Interesting paper.

I think to get it to stick, you'd probably need an attribute associated with each sampled position on the mesh that doesn't change.

I got the impression that one wouldn't necessarily want it to stick on a deforming surface.

As the surface deforms new noise smoothly fades in/out, always resulting in non-distorted texture.

Now that I write this, it sounds an awful lot like a solid 3d-texture :)

At least in the anisotropic case the difference should be clear, plus sounds like the filtering

is easier with surface noise than with solid.

I started thinking about implementing (means almost half done, right?:) the solid case, but realized

that I didn't know what the third dimension of the gabor kernel is supposed to be.. so it's waiting for a

trip to math-land.

eetu.

Link to comment
Share on other sites

I guess it depends what you're using it for. If I was using it in a skin texture for example, I'd sure as hell want it to stick :)

But I think it offers you the flexibility either way.

Very true :)

I just happened to be thinking about the particle surfacer..

Anyhoo, hopefully someone gets to tackle this.

eetu.

Link to comment
Share on other sites

  • 5 months later...

Yep, you don't need UVs. As I understand it, It's doing a splatting type algorithm with small patches (they call them kernels) of noise with a user defined noise spectrum. It uses a local projection at each sampled location based on position and surface normal. You can see that fairly clearly in the video (the bit with the meta ball cube at 1:11)

I agree, my reading of this is as follows:

They use a worley noise type cell algorithm so that for each shaded point you determine which cell the point is in and then you "splat" based on a projection of 2d noise centered around that cell using the shaded point normal to determine the 2d plane for the splat projection, you then do the same thing for the each of the neighbour cells and combine the results weighted by the distance the point is from the center of the cell in question.

For isotropic noise they orient the 2d splat planes randomly for each grid cell and for anisotropic they use a flow direction to orient them coherently.

I think this part of the paper is very interesting and could be separated out from the noise generator to be used with any existing noise function and I might have a crack at that....

Their noise function is also very interesting but I not sure yet how easy it would be to control without their fancy interface, since the final results of it seems on the face of it to be very similar to existing noise patterns I'm wondering whether the only advantage of it is that one function fits all, but that is negated by the complexity of the parameter interface required to control it. Therefore the thing to start with here is the splatting algorithm.

Link to comment
Share on other sites

  • 3 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...