goodmachine 3 days ago

"In fact, people have actually made spatial pattern generators that allow you to input the frequency profile that you want, and get the corresponding point pattern out. It’s really quite neat, and I highly recommend reading this paper so you can see some other possible noise parameters, like anisotropy."

I had to hunt this 'custom colour' noise paper out since that link was dead. It is quite neat. Here it is on ACM in case anyone else is interested:

Point Sampling with General Noise Spectrum (2012) https://dl.acm.org/doi/10.1145/2185520.2185572

teo_zero 3 days ago

Something sounds odd. If points are very close, they have high spacial frequency. If I reject points that are too close, I'm excluding high-frequency points and keeping only low-frequency ones. A distribution that favor lower frequencies and filters out higher ones is red, not blue. Am I getting it wrong?

  • wtallis 3 days ago

    I think the color terms and frequency may make sense in reference to a comparison against uniformly-spaced points such as a rectangular grid. If you perturb uniformly-spaced points with high-frequency/short-wavelength adjustments, you won't get the large-scale clumping that results from also including low-frequency/long-wavelength distortions.

    • bearsnowstorm 2 days ago

      I had this question and needed this answer - thank you

bschwindHN 3 days ago

I was looking through the source code for Bevy's Screen-Space-Ambient-Occlusion (SSAO) implementation and noticed they are using blue noise as well:

https://github.com/bevyengine/bevy/blob/56d559102858d4ce8a5b...

That link takes you to this shadertoy:

https://www.shadertoy.com/view/3tB3z3

  • jmiskovic 2 days ago

    It is a common pattern in rendering. You achieve your desired results, but it is nowhere near realtime. You try to lower the sampling resolution which helps a lot with speed, but you end up with ugly visual artifacts. Introducing the blue noise in the right place helps with attenuating these sampling artifacts. Only usually you would sample the premade "blue noise" texture rather than using the shader to compute it.

    This article does a good job of explaining how it helps in raymarching:

    https://blog.maximeheckel.com/posts/real-time-cloudscapes-wi...

    • pixelpoet 2 days ago

      And for an IMO much better explanation how it can be used more or less everywhere, this presentation by Playdead games on how it's used in INSIDE: https://www.youtube.com/watch?v=RdN06E6Xn9E

      IMO the linked article by Casey Muratori is actually kind of weak: a lot of waffling, doesn't actually show the results of using this point set in the original problem, just using the sampling pattern isn't enough to eliminate aliasing, and there are more important properties for point sequences to have (discrepancy), etc. It's somewhat unpopular these days to link dense texts instead of "softer" articles, but IMO one should just go straight to PBRT for this topic, there's an entire chapter with excellent presentation: https://pbr-book.org/4ed/Sampling_and_Reconstruction

      Final note: the Don Mitchell mentioned in this article is one of the authors on the go-to reconstruction filter used in a lot of software, Mitchell-Netravali (the latter recently passed away): https://en.wikipedia.org/wiki/Mitchell%E2%80%93Netravali_fil...