2.5.11.9 Crackle Patterns
The crackle pattern is a set of random tiled multifaceted cells.
There is a choice between different types:
Standard Crackle Mathematically, the set crackle(p)=0 is a 3D Voronoi diagram of a field of
semi random points and crackle(p) < 0 is the distance from the set along the shortest path (a Voronoi diagram is
the locus of points equidistant from their two nearest neighbors from a set of disjoint points, like the membranes in
suds are to the centers of the bubbles).
With a large scale and no turbulence it makes a pretty good stone wall or floor. With a small scale and no
turbulence it makes a pretty good crackle ceramic glaze. Using high turbulence it makes a good marble that avoids
the problem of apparent parallel layers in traditional marble.
Form
pigment {
crackle form <FORM_VECTOR>
[PIGMENT_ITEMS ...]
}
normal {
crackle [Bump_Size]
form <FORM_VECTOR>
[NORMAL_ITEMS ...]
}
Form determines the linear combination of distances used to create the pattern. Form is a vector. The first
component determines the multiple of the distance to the closest point to be used in determining the value of the
pattern at a particular point. The second component determines the coefficient applied to the secondclosest
distance. The third component corresponds to the thirdclosest distance.
The standard form is <1,1,0> (also the default), corresponding to the difference in the distances to the
closest and secondclosest points in the cell array. Another commonlyused form is <1,0,0>, corresponding to the
distance to the closest point, which produces a pattern that looks roughly like a random collection of intersecting
spheres or cells. Other forms can create very interesting effects, but it is best to keep the sum of the
coefficients low. If the final computed value is too low or too high, the resultant pigment will be saturated with
the color at the low or high end of the color_map . In this case, try multiplying the form vector by a
constant.
Metric
pigment {
crackle metric METRIC_VALUE
[PIGMENT_ITEMS ...]
}
normal {
crackle [Bump_Size]
metric METRIC_VALUE
[NORMAL_ITEMS ...]
}
Changing the metric changes the function used to determine which cell center is closer, for purposes of determining
which cell a particular point falls in. The standard Euclidean distance function has a metric of 2. Changing the
metric value changes the boundaries of the cells. A metric value of 3, for example, causes the boundaries to curve,
while a very large metric constrains the boundaries to a very small set of possible orientations. The default for
metric is 2, as used by the standard crackle texture. Metrics other than 1 or 2 can lead to substantially longer
render times, as the method used to calculate such metrics is not as efficient.
Offset
pigment {
crackle offset OFFSET_VALUE
[PIGMENT_ITEMS ...]
}
normal {
crackle [Bump_Size]
offset OFFSET_VALUE
[NORMAL_ITEMS ...]
}
The offset is used to displace the pattern from the standard xyz space along a fourth dimension. It can be used
to round off the "pointy" parts of a cellular normal texture or procedural heightfield by keeping the
distances from becoming zero. It can also be used to move the calculated values into a specific range if the
result is saturated at one end of the color_map. The default offset is zero.
Solid
pigment {
crackle solid
[PIGMENT_ITEMS ...]
}
normal {
crackle [Bump_Size]
solid
[NORMAL_ITEMS ...]
}
Causes the same value to be generated for every point within a specific cell. This has practical applications in
making easy stainedglass windows or flagstones. There is no provision for mortar, but mortar may be created by
layering or texturemapping a standard crackle texture with a solid one. The default for this parameter is off.
