1.3.4.7 Working With List Textures
If we have followed the corresponding tutorials on simple pigments, we know that there are three patterns called color
list patterns, because rather than using a color map, these simple but useful patterns take a list of colors
immediately following the pattern keyword. We are talking about checker, hexagon, the brick pattern and the object
pattern.
Naturally they also work with whole pigments, normals, and entire textures, just as the other patterns do above.
The only difference is that we list entries in the pattern (as we would do with individual colors) rather than using a
map of entries. Here is an example. We strike the plane and any declared pigments we had left over in our last
example, and add the following to our basic file.
#declare Pigment1 = pigment {
hexagon
color Yellow color Green color Grey
scale .1
}
#declare Pigment2 = pigment {
checker
color Red color Blue
scale .1
}
#declare Pigment3 = pigment {
brick
color White color Black
rotate -90*x
scale .1
}
box {
-5, 5
pigment {
hexagon
pigment {Pigment1}
pigment {Pigment2}
pigment {Pigment3}
rotate 90*x
}
}
We begin by declaring an example of each of the color list patterns as individual pigments. Then we use the hexagon
pattern as a pigment list pattern, simply feeding it a list of pigments rather than colors as we did above.
There are two rotate statements throughout this example, because bricks are aligned along the z-direction, while
hexagons align along the y-direction, and we wanted everything to face toward the camera we originally declared out in
the -z-direction so we can really see the patterns within patterns effect here.
Of course color list patterns used to be only for pigments, but as of POV-Ray 3, everything that worked for
pigments can now also be adapted for normals or entire textures. A couple of quick examples might look like
normal {
brick
normal { granite .1 }
normal { bumps 1 scale .1 }
}
or...
texture {
checker
texture { Gold_Metal }
texture { Silver_Metal }
}
|