0

I need to write a C++ implementation of the dnoise function from Maya. However, the documentation for this function is woefully inadequate for describing what this function actually does from an implementation perspective.

So, what does this function actually do? And how do I implement it?

EDIT: Found this in the documentation: "The noise functions return values of a noise field in one, two, and three dimensions. The dnoise command returns the gradient of the noise field in three dimensions."

So what's the difference between the value and the gradient of the noise field?

EDIT 2: Apparently the gradient is the function that returns a vector of partial derivatives.

Partial Derivatives

Gradient

So that answers what the function needs to do; now the question is how to compute the partial derivative of a noise function.

camomilk
  • 763
  • 1
  • 7
  • 15

1 Answers1

1

If you read the noise function documentation you'll discover that dnoise is producing Perlin noise in three dimensions.

There's a free implementation in C++ available at flipcode

For more theoretical background about Perlin noise see this page

Also, Ken Perlin is cool guy. Check out his work! see his homepage.

  • Thanks for the useful links! Lots of good stuff there. But I don't see an exact match to the dnoise function, which takes a vector and returns a vector. – camomilk Apr 06 '11 at 18:42