Perlin Noise questions 2004-01-23 - By Thomas Williams
Back >> Mal wote: > Textures could be created using the > various Perlin noise functions people have posted etc.
amazing, I was just last night starting to look at Perlin noise for lingo. I'm so glad it's already been sorted! after a bit of sniffing around {btw, Allen, it would be nice if there were a global search feature in for dir-3 (See http://dir-3.ora-code.com)d like there is for dir-Games. just a suggestion ;) }, I finally found Andrew Phelps' excellent tutorial on this topic: http://www.macromedia.com/devnet/mx/director/articles/perlin_noise.html
Andrew, your article was most enlightening and led me to a few questions. Hope you don't mind me putting you on the spot here.
1) You chose to use flash for your math computation because Flash has bitwise operations. I assume you did this for the speed increase that bitwise operations allow (accessing binary is faster). Director cannot do this, without the aid of an Xtra, is that correct? Is this technique recommended for speedier loop intensive mehtods, especially imaging lingo setpixel() processing? In this case, is flash actually faster than Director?
2) Do you know of other "flavors" of noise generation? In 3ds max, there is a plugin called Super Noise (created by Blur.com) that makes the most amazing tendrilly 3d noise. Any chance this could be added to the arsenal? Sorry I don't have any references to the source code for that one, but... I wonder if you have heard of "flame", a fantastic 2d noise generator http://flam3.com/ that is open source. I am clueless with C so I can't really help with any implementation here, but it would be interesting (if not obscenely comlicated) to implement some of these tasty noise flavors. Do you think it's possible or even possible useful (their likely very slooowww...)
3) How would one change the 'random seed'?
a snip from your flash code: -- ---- ---- ---- ---- ---- --- perlin.Noise1D = function (x) { x = Number(x); x = (x<<13) ^ x; return ( 1.000 - ( (x * (x * x * 15731 + 789221) + 1376312589) & 0x7FFFFFFF) / (1073741824.0 )); }; -- ---- ---- ---- ---- ---- --- - which of these numbers are the "seed"? are those large integers on the return line arbitrary or specific and necessary? Would changing them effectively change the seed?
==================================================================
anyway, excellent job on the tutorial! That will be a permanent member of my graphic arsenal.
(glowing with gratitude) Thomas
__ ____ ____ ____ ____ ____ ____ ____ ____ ____ Dir3d-l mailing list Dir3d-l@(protected) http://nuttybar.drama.uga.edu/mailman/listinfo/dir3d-l
|
|