Those are very beautiful. I played around, but could not create anything interesting. Adding the source for each sample, not only the first, could be a great addition. I have absolutely no idea how to achieve the effect of #7 or #8, for example.<p>And I never understood the copyright status of this stuff. If I use texgen to create a texture, is it mine or mrdoob's?
It's worth mentioning that Mr.doob (author of this code) is also an author of three.js graphics library and many astonishing demos. Check out his Github and home page (<a href="http://mrdoob.com" rel="nofollow">http://mrdoob.com</a>) for (many) more interesting things!<p>Example: <a href="http://mrdoob.github.io/three.js/examples/webgl_terrain_dynamic.html" rel="nofollow">http://mrdoob.github.io/three.js/examples/webgl_terrain_dyna...</a>
Around 2002, I made something similar using WinAPI, in Pascal (FPC). Sadly, the sources are gone, but the executable survives:
<a href="http://students.mimuw.edu.pl/~dj189395/nhp/czynic/programy/wintexgen/wintexgen-0.02alpha.exe" rel="nofollow">http://students.mimuw.edu.pl/~dj189395/nhp/czynic/programy/w...</a> [22 KiB, no external dependencies].<p>Screenshot: <a href="http://students.mimuw.edu.pl/~dj189395/nhp/czynic/programy/wintexgen/wintexgen1.png" rel="nofollow">http://students.mimuw.edu.pl/~dj189395/nhp/czynic/programy/w...</a><p>Use at your peril, preferably in a VM, Wine, or similarly sandboxed environment.
Wow, what a strange and wonderful little program. I think it's neat how @mrdoob put together a little standard library of functions that can be chained together in a totally understandable abstraction "pass". It's a good project, too, for people who, like me, want to have a good template for doing general pixel-wise manipulation with canvas.<p>Thanks!
<a href="https://github.com/mrdoob/texgen.js/blob/564c6efb5b5647ad44d98205c93bf59dc513a85c/src/texgen.js#L29-L38" rel="nofollow">https://github.com/mrdoob/texgen.js/blob/564c6efb5b5647ad44d...</a><p>I'll admit to being a bit concerned about programming practices like this. I'm mostly inept at Javascript, but surely the language has better mechanisms for accomplishing the goal here.