java - Why do noise algorithms use 256 permutation values? -


i have seen many noise implementations things perlin , simplex noise achieve procedural terrain generation, , seem use 256 permutation values. why this? , effect of using more 256?

you use number of permutation values. reason powers of 2 preferred is, because cheaper compute modulus of n^2.

the reason is:

value % (n^2) 

is equivalent to

value & (n^2 - 1) 

and cheaper compute bitwise & instead of %.

for example in code write this:

int v = perm[(x + perm[y % 256]) % 256]; 

or

int v = perm[(x + perm[y & 255]) & 255]; 

both give same result second method faster.

of course power of 2 can used this. think reason choosing 256 is balance between variety of pseudo random numbers , low memory consumption.


Comments

Popular posts from this blog

javascript - Karma not able to start PhantomJS on Windows - Error: spawn UNKNOWN -

c# - Display ASPX Popup control in RowDeleteing Event (ASPX Gridview) -

Nuget pack csproj using nuspec -