Unlike most patterns, the wood pattern uses the triangle_wave wave type by default. This means that like marble, wood uses color map values 0.0 to 1.0 then repeats the colors in reverse order from 1.0 to 0.0. However you may use any wave type. The pattern may be used with color_map, pigment_map, normal_map, slope_map and texture_map.
When used as a normal pattern it uses a specialized normal perturbation function. This means that the wrinkles pattern cannot be used with normal map, slope map or wave type modifiers in a normal statement.
When used as a pigment pattern or texture pattern, the wrinkles pattern is similar to normal wrinkles but is not identical as are most normals when compared to pigments. When used in pigment or texture statements the wrinkles pattern uses the ramp_wave wave type by default but may use any wave type. The pattern may be used with color_map, pigment_map and texture_map.
The pattern modifiers in the following section can be used with pigment, normal or texture patterns.
Section 7.6.7.24
Wrinkles
Section 7.6.8
Pattern Modifiers
Section 7.6.8.1
Transforming Patterns
These modifiers may be placed inside pigment, normal and texture statements to change the position, size and orientation of the patterns.
In general the order of transformations relative to other pattern modifiers such as turbulence, color_map and other maps is not important. For example scaling before or after turbulence makes no difference. The turbulence is done first, then the scaling regardless of which is specified first. However the order in which transformations are performed relative to warp statements is important. See "Warps" for details.
The frequency keyword adjusts the number of times that a color map repeats over one cycle of a pattern. For example gradient covers color map values 0 to 1 over the range from x=0 to x=1. By adding frequency 2.0 the color map repeats twice over that same range. The same effect can be achieved using scale 0.5*x so the frequency keyword isn't that useful for patterns like gradient.
However the radial pattern wraps the color map around the +y-axis once. If you wanted two copies of the map (or 3 or 10 or 100) you'd have to build a bigger map. Adding frequency 2.0 causes the color map to be used twice per revolution. Try this:
The result is six sets of red and white radial stripes evenly spaced around the object.
The float after frequency can be any value. Values greater than 1.0 causes more than one copy of the map to be used. Values from 0.0 to 1.0 cause a fraction of the map to be used. Negative values reverses the map.
The phase value causes the map entries to be shifted so that the map starts and ends at a different place. In the example above if you render successive frames at phase 0 then phase 0.1, phase 0.2 etc you could create an animation that rotates the stripes. The same effect can be easily achieved by rotating the radial pigment using rotate y*Angle but there are other uses where phase can be handy.
Sometimes you create a great looking gradient or wood color map but you want the grain slightly adjusted in or out. You could re-order the color map entries but that's a pain. A phase adjustment will shift everything but keep the same scale. Try animating a mandel pigment for a color palette rotation effect.
Frequency and phase have no effect on block patterns checker, brick and hexagon nor do they effect image maps, bump maps or material maps. They also have no effect in normal statements when used with bumps, dents, quilted or wrinkles because these normal patterns cannot use normal_map or slope_map.
They can be used with normal patterns ripples and waves even though these two patterns cannot use normal_map or slope_map either. When used with ripples or waves, frequency adjusts the space between features and phase can be adjusted from 0.0 to 1.0 to cause the ripple or waves to move relative to their center for animating the features.
These values work by applying the following formula
Patterns such as gradient or onion generate a grove or slot that looks like a ramp that drops off sharply. This is called a ramp_wave wave type. However wood and marble slope upwards to a peak, then slope down again in a triangle_wave. In previous versions of POV-Ray there was no way to change the wave types. You could simulate a triangle wave on a ramp wave pattern by duplicating the map entries in reverse, however there was no way to use a ramp wave on wood or marble.
Now any pattern that takes a map can have the default wave type overridden. For example:
Also available are sine_wave and scallop_wave types. These types are of most use in normal patterns as a type of built-in slope map. The sine_wave takes the zig-zag of a ramp wave and turns it into a gentle rolling wave with smooth transitions. The scallop_wave uses the absolute value of the sine wave which looks like corduroy when scaled small or like a stack of cylinders when scaled larger.
Although any of these wave types can be used for pigments, normals or textures, the sine_wave and scallop_wave types are not as noticeable on pigments or textures as they are for normals.
Wave types have no effect on block patterns checker, brick and hexagon nor do they effect image maps, bump maps or material maps. They also have no effect in normal statements when used with bumps, dents, quilted or wrinkles because these normal patterns cannot use normal_map or slope_map.
Typical turbulence values range from the default 0.0, which is no turbulence, to 1.0 or more, which is very turbulent. If a vector is specified different amounts of turbulence are applied in the x-, y- and z-direction. For example
has much turbulence in the x-direction, a moderate amount in the y-direction and a small amount in the z-direction.
Turbulence uses a random noise function called DNoise. This is similar to the noise used in the bozo pattern except that instead of giving a single value it gives a direction. You can think of it as the direction that the wind is blowing at that spot. Points close together generate almost the same value but points far apart are randomly different.
In general the order of turbulence parameters relative to other pattern modifiers such as transformations, color maps and other maps is not important. For example scaling before or after turbulence makes no difference. The turbulence is done first, then the scaling regardless of which is specified first. See section "Warps" for a way to work around this behavior.
Turbulence uses DNoise to push a point around in several steps called octaves. We locate the point we want to evaluate, then push it around a bit using turbulence to get to a different point then look up the color or pattern of the new point.
It says in effect Don't give me the color at this spot... take a few random steps in different directions and give me that color. Each step is typically half as long as the one before. For example:
The magnitude of these steps is controlled by the turbulence value. There are three additional parameters which control how turbulence is computed. They are octaves, lambda and omega. Each is optional. Each is followed by a single float value. Each has no effect when there is no turbulence.
Section 7.6.8.3
Waveform
Section 7.6.8.4
Turbulence
Turbulence random walk.
Table Of Contents