Still
while working on my Ophthalmology project I needed to apply my radial
plugin onto a cellular texture. Unfortunately, the texture plugins
are not perturbable. So I rolled up my sleeves and programmed my own
Cellular Texture plugin. I named it Worley after Steven Worley the
inventor of this method of producing textures. He published an article
in SIGGRAPH 96 titled "A Cellular Texture Basis Function".
There is a slide
show type of presentation of the paper with nice pictures by Michael
Monks. My plugin implements the Cellular Texture Basis Function as
described in the Worley Paper complete with some of Worley suggestions
for enhancement and user's access to all the parameters.
How to use the plugin
Unlike the other Cellular textures for A:M, the one I developed
have all the knobs exposed so you can experiment at will with it
and find some interesting textures. Playing with the parameters
can gives weird effects like a completely black or completely white
texture (assuming you experiment with black and white colors) because
of the way the functions add together. To help determine what is
happening, I added a tiny button that displays the current min and
max values returned by the function using the current setup. What
you need to know is that those numbers represent percent of texture
values. What is used by A:M are values between -100% and +100%.
Any values outside those ranges are clipped by A:M and any negative
values are folded into positive values. The "Limit" checkbox
clips any values below 0% so that eliminates the folding of negative
values. "Bias" can be used to shift the function values
toward the negative or toward the positives so if you have a setting
that produces values completely on one or the other side of +100%
or -100% you can bring the values back within the -100% and +100%.
"Gain" will amplify the values of the function. It is
by using very high gain that the function can produce textures of
the flagstone kind.
C1 to C4 values are what defines different textures by combining
different functions together in different amount. For instance C1=1
defines the standard cell texture (the second sample below), C1=1
and C2=-1 defines the standard network texture (the third sample
below), the one that can be used to make flagstone. As for the distance
function, the standard one is Euclidian But Manhattan gives nice
effect too. Minkovsky is a distance function that uses the exponent
value and can be used to calculate distances other that Manhattan
or Eucllidian. For instance with the exponent set to 1, you have
the Manhattan distance and with exponent set to 2 you have the Euclidian
distance. Things start looking funkier with exponent like 0.5 or
1.5 or even 4.0. Above 4.0 for exponent, the functions start to
warp which starts to cause sharp discontinuities in the texture.
I share it for those who want to experiment with it. What I ask
in return is that I would like to receive the material files if
you find any setup that gives interesting textures. Fair enough?
Depending on what I will receive, I might setup a page on my site
and make them available with the proper credit. You can download
the plugin here. Simply place the file in the Hash "Turbulence"
folder. You might also want to download the
project file that produced the image above to get you started.
The plugin is in beta state. Meaning that I do not intend to dotechnical
support for it. I can answer question that pertains to how to use
it and I welcome any bug reports but I can't correct bugs right
now if you find some. However I developed it for my Ophthalmology
project and it already does much more than what I needed. Use it
at your own risk. I might come back to it later and push it a little
further but I have to continue on my Ophthalmology project now.
NOTE: The plugin is available only for the Windows platform unfortunately.
Here are one evening worth of experimental samples
of what can be produces with it: