Outerra forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Download Outerra Tech Demo. Unofficial Outerra Discord server, MicroProse Discord server for OWS.

Author Topic: Pixar paper  (Read 17338 times)

mrr

  • Newbie
  • Posts: 5
Pixar paper
« on: March 08, 2011, 11:55:57 am »

Hello

I am trying to understand the Pixar paper on wavelet noise.
And I need help..are there any other places i can read about this?
Googling gives mostly denoising and noise removal...
Logged

cameni

  • Brano Kemen
  • Outerra Administrator
  • Hero Member
  • *****
  • Posts: 6721
  • No sense of urgency.
    • outerra.com
Pixar paper
« Reply #1 on: March 08, 2011, 03:54:57 pm »

Well I probably can be of some help but probably not too much with regards specifically to the paper. The term "wavelet noise" refers to the way of assembling noise in bands using a basis function. What do you need it for?
Logged

mrr

  • Newbie
  • Posts: 5
Pixar paper
« Reply #2 on: March 09, 2011, 12:09:34 pm »

Ive made a procedural terrain with perlin noise.. and then I looked at Outerra and saw that you are using wavelet noise.
And that it is more band-limited...so I became interested to see if it would improve things over perlin.

Ive got many questions..

One of them is the projection they talk about, projecting the 3D wavelet noise to make 2D wavelet noise..
Is it not possible to create it as 2D to begin with??

And a question more about Outerra, do you send different noise bands separately and add them together in the GPU depending on LOD level....or are they summed in the CPU and then sent to the GPU.

In the paper they basically describe the process as:
1) Creating random coefficients filter them with filter
2) Downsampling them
3) Upsampling them with refinement coefficients related to quadratic B-spline
4) Subtracting original from result
5) Evaluate linear combination of B-splines using coefficients from 4 (to make continuous noise)
    then they call this wavelet noise..

Is this right? is it what you do as well?
What filter can be used at down sampling?
Is this wavelet coefficients for a wavelet filter or just a low pass filter?
Logged

cameni

  • Brano Kemen
  • Outerra Administrator
  • Hero Member
  • *****
  • Posts: 6721
  • No sense of urgency.
    • outerra.com
Pixar paper
« Reply #3 on: March 09, 2011, 02:45:04 pm »

Quote from: mrr
Ive made a procedural terrain with perlin noise.. and then I looked at Outerra and saw that you are using wavelet noise.
And that it is more band-limited...so I became interested to see if it would improve things over perlin.
What kind of problems did you have with perlin?

Quote
One of them is the projection they talk about, projecting the 3D wavelet noise to make 2D wavelet noise..
Is it not possible to create it as 2D to begin with??
Sure, it can be created in 2D from the start. I believe they are dealing with 3D mainly because it is more suitable for their purposes, like texturing arbitrary surfaces.

Quote
And a question more about Outerra, do you send different noise bands separately and add them together in the GPU depending on LOD level....or are they summed in the CPU and then sent to the GPU.
Noise bands are both generated and added together on the GPU - it's quite parallelizable process so doing it on GPU is advantageous.

Quote
In the paper they basically describe the process as:
...

Is this right? is it what you do as well?
What filter can be used at down sampling?
Is this wavelet coefficients for a wavelet filter or just a low pass filter?

The term "wavelet noise" refers to several different approaches that share the crucial elements. And we are not using it to generate a noise texture to be then used in the same way as perlin usually is for generating terrain. Instead we are generating the terrain directly.

Terrain of given level of detail can be produced by adding a common scaled non-coherent noise to an upsampled (coarser) level of detail. You can use various basis functions for the upsampling. This could be implemented in a similar way as with perlin (i.e. a deterministic function returning value from coordinate parameters), or using stored parent data.
Logged

mrr

  • Newbie
  • Posts: 5
Pixar paper
« Reply #4 on: March 09, 2011, 03:32:11 pm »

Quote
Quote
And a question more about Outerra, do you send different noise bands separately and add them together in the GPU depending on LOD level....or are they summed in the CPU and then sent to the GPU.
Noise bands are both generated and added together on the GPU - it's quite parallelizable process so doing it on GPU is advantageous.

What is the simplest way to generate the bands on the GPU?

Quote
Terrain of given level of detail can be produced by adding a common scaled non-coherent noise to an upsampled (coarser) level of detail.

I think understand what you say.
However what benefit does using wavelet noise give?..does it make it non-coherent..
the paper says:

"A band-dependent translation is usually added to x*2^b  to de-correlate the
noise bands, but we can safely ignore this in our analysis."

Is this related to non-coherence?

They also say this:

"thus, if we build our noise bands in the wavelet space W0 , then they can be
scaled to any resolution j and be guaranteed to have no effect on
images at any resolution less than j."

I think this is important to reduce anti-aliasing far away, and also important
for adding levels together.. but what does no effect mean ?


Quote
You can use various basis functions for the upsampling. This could be implemented in a similar way as with perlin (i.e. a deterministic function returning value from coordinate parameters), or using stored parent data.

That is good to know since the Pixar paper "software code" makes it in a way that look inefficient compared to a Perlin implementation.

They say though that non-refinable functions like gaussian functions can not be used.
Logged

cameni

  • Brano Kemen
  • Outerra Administrator
  • Hero Member
  • *****
  • Posts: 6721
  • No sense of urgency.
    • outerra.com
Pixar paper
« Reply #5 on: March 09, 2011, 04:55:27 pm »

Honestly, I cannot comment much on that paper, I haven't studied it in detail - I had found it only when looking if someone has dealt with something like wavelet noise as well. But wavelets are a wide concept so it diverges quickly there.

I guess they deal specifically with issues of Perlin when projecting it from 3D to 2D surfaces, and most of the quotes you mentioned imply that they are most concerned about aliasing and preservation of detail.

It's quite possible that a standalone wavelet noise function will be less efficient than Perlin, but a classic Perlin is pretty ineffective for terrain too. We are extensively using caching of generated data, only adding the next band of noise to the upscaled parent. The noise to add can be easily generated on GPU on the fly as a random noise, with proper scaling.
Logged

mrr

  • Newbie
  • Posts: 5
Pixar paper
« Reply #6 on: March 10, 2011, 02:27:26 pm »

Yes I think preservation of detail is important for them.
Thanks for your help.
Logged