Code Monkey home page Code Monkey logo

Comments (6)

stegu avatar stegu commented on July 26, 2024 1

from webgl-noise.

grandseiken avatar grandseiken commented on July 26, 2024

Hey, thank you for your detailed reply.

It seems like using any axis-aligned plane (snoise(coords.xy, 0), snoise(0, coords.xy), snoise(coords.x, 0, coords.y)) has just as bad a problem. I didn't notice any subjective improvement swapping between these (I had tried already based on a comment in a different issue).

Adding a small z slope actually helps a fair bit: the noise is no longer so obviously and drastically periodic, but general recurring patterns are still fairly obvious, and additionally the general patterns now seem to repeat in two directions instead of just one.

Thanks for the other notes and links. I'll probably end up doing something with integers or using a texture lookup.

Just one more question: what are you referring to by "our original article"? I thought you might mean this but it doesn't appear to contain anything on permutation polynomials. Cheers!

from webgl-noise.

stegu avatar stegu commented on July 26, 2024

what are you referring to by "our original article"?

Sorry for the confusion, I meant the write-up by Ian McEwan and myself on
this particular implementation of noise, from Journal of Graphics Tools:
http://www.itn.liu.se/~stegu/jgt2012/
There is a link to it on the Ashima "webgl-noise" wiki page:
https://github.com/ashima/webgl-noise/wiki

from webgl-noise.

stegu avatar stegu commented on July 26, 2024

The thread is a detailed description of problems that still exist in the implementation, so I'm keeping it open.

from webgl-noise.

stegu avatar stegu commented on July 26, 2024

Ian McEwan and I are in the process of writing new noise functions, and in that process we found a better permutation polynomial that does not cause these ugly diagonal streaks. I have now retroactively changed the permutation polynomial across the board for all these old functions as well. It's only a matter of changing a "1.0" to "10.0". Sad that it took this long to find that simple remedy, but finding permutations to generate "apparent randomness" are a really tricky subject where there is little relevant previous work.

from webgl-noise.

stegu avatar stegu commented on July 26, 2024

The problem seems to have gone "poof" with that slight change to the permutation polynomial, so I'm closing this thread.

from webgl-noise.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.