Comments (6)
from webgl-noise.
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.
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.
The thread is a detailed description of problems that still exist in the implementation, so I'm keeping it open.
from webgl-noise.
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.
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)
- 3D simplex noise exhibiting spacial artifacts not found in 2D simplex noise HOT 30
- Ugly artifacts in 2d simplex HOT 5
- Gradient to 3D Simplex Noise HOT 7
- Question: offsetting / seeding noise2D.glsl . HOT 1
- Mention the range somewhere HOT 2
- Texture-intensive noise implementations HOT 4
- Period z is ignored for float pnoise(vec3 P, vec3 rep) HOT 5
- snoise(vec3) discontinuities HOT 9
- webgl HOT 2
- 6D noise HOT 2
- Making perturbed normal bumps HOT 15
- Problems in Safari iOS on mediump HOT 25
- Use of implementation in art project HOT 10
- pnoise is not repeating HOT 3
- Linker flags in Linux makefiles HOT 2
- Procedural Focal Points HOT 3
- demo fails to build on OS X HOT 4
- How to get the noise value in [0, 1] HOT 3
- Seeds HOT 35
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from webgl-noise.