Poisson Disk Sampling

(stripeacross.com)

101 points | by vismit2000 6 hours ago

10 comments

  • PiXeL161616 21 minutes ago
    Never found a way to do this per-pixel in a shader, Bridson's needs the active list. Ended up hashing cells and jittering inside them instead.
  • akkartik 3 hours ago
    Still one of the most satisfying debug UIs I ever came up with.

    https://akkartik.name/post/2023-11-04-devlog

    • saidnooneever 56 minutes ago
      seing this kind of visualisations helped me a lot in gfx. always much respect for ppl who understand it well enough to make these things. after a long time tinkering i am still not there for sure :D.

      thanks, these are great!

    • cowthulhu 2 hours ago
      The third one especially is both (really) cool looking and legible!
  • jacobolus 5 hours ago
  • Terr_ 2 hours ago
    > Consider when the algorithm places a point p and then samples its annulus to get a new point q.

    I was confused for a while thinking p and q were swapped here, relative to the visualization below. [0] However I now think what I missed is that that the visualization is showing two points that are already firmly-established, and the question is where a potential third (unseen, unnamed) point could be placed.

    So metaphorically speaking, it's about picking a new direction of travel that isn't guaranteed to be into your own recent footsteps.

    [0] You might say I have problems minding my p's and q's.

  • kleiba2 5 hours ago
    Possibly interesting post from Casey Muratori, regarding random placement of grass in games: https://caseymuratori.com/blog_0013, using blue noise.
  • hingler36 5 hours ago
    I love these kinds of problems, because they try to produce what humans perceive as random instead of something truly random. Another great example of this is blue noise
    • saidnooneever 51 minutes ago
      funny you mention. blue noise was also the first one that popped in my mind. spent a lot of time looking for blue noise without knowing it at some point ::) while working on a system that was also using poisson disk sampling.
  • addag 5 hours ago
    I'm wondering if it can be used as a low-discrepancy sequence
    • jacobolus 2 hours ago
      For a low-discrepancy sequence you are usually trying to generate one point at a time, up to some arbitrary number. Here the goal is to generate (roughly) a specific number of points that fill a whole region.

      So you probably could figure out a way to use this method to make a low-discrepancy sequence but it's probably not going to be particularly suitable compared to alternatives.

  • WithinReason 4 hours ago
    I see the generated points often form lines which would cause aliasing in computer graphics, why not use low discrepancy sequences instead?
  • jonstewart 2 hours ago
    Oh, that’s rather a different sort of disk sampling than I imagined.
  • agentworks 1 hour ago
    [flagged]