1.3.4.9 Average Function
Now things get interesting. Above, we began to see how pigments and normals can fade from one to the other when we
used them in maps. But how about if we want a smooth blend of patterns all the way through? That is where a new
feature called average can come in very handy. Average works
with pigment, normal, and texture maps, although the syntax is a little bit different, and when we are not expecting
it, the change can be confusing. Here is a simple example. We use our standard includes, camera and light source from
above, and enter the following object.
plane { -z, 0
pigment { White }
normal {
average
normal_map {
[1, gradient x ]
[1, gradient y ]
}
}
}
What we have done here is pretty self explanatory as soon as we render it. We have combined a vertical with a
horizontal gradient bump pattern, creating crisscrossing gradients. Actually, the crisscrossing effect is a smooth
blend of gradient x with gradient y all the way across our plane. Now, what about that syntax difference?
We see how our normal map has changed from earlier examples. The floating point value to the left-hand side of each
map entry has a different meaning now. It gives the weight factor per entry in the map. Try some different values for
the 'gradient x' entry and see how the normal changes.
The weight factor can be omitted, the result then will be the same as if each entry had a weight factor of 1.
|