2.5.12.7 Bitmap Modifiers
A bitmap modifier is a modifier used inside an image_map , bump_map or material_map
to specify how the 2-D bitmap is to be applied to the 3-D surface. Several bitmap modifiers apply to specific kinds of
maps and they are covered in the appropriate sections. The bitmap modifiers discussed in the following sections are
applicable to all three types of bitmaps.
Normally there are an infinite number of repeating image maps, bump maps or material maps created over every unit
square of the x-y-plane like tiles. By adding the once keyword after a file name you can eliminate all
other copies of the map except the one at (0,0) to (1,1). In image maps, areas outside this unit square are treated as
fully transparent. In bump maps, areas outside this unit square are left flat with no normal modification. In material
maps, areas outside this unit square are textured with the first texture of the texture list.
For example:
image_map {
gif "mypic.gif"
once
}
The default projection of the image onto the x-y-plane is called a planar map type. This option may be
changed by adding the map_type keyword followed by an integer number specifying the way to wrap the
image around the object.
A map_type 0 gives the default planar mapping already described.
A map_type 1 gives a spherical mapping. It assumes that the object is a sphere of any size sitting at
the origin. The y-axis is the north/south pole of the spherical mapping. The top and bottom edges of the image just
touch the pole regardless of any scaling. The left edge of the image begins at the positive x-axis and wraps the image
around the sphere from west to east in a -y-rotation. The image covers the sphere exactly once. The once
keyword has no meaning for this mapping type.
With map_type 2 you get a cylindrical mapping. It assumes that a cylinder of any diameter lies along
the y-axis. The image wraps around the cylinder just like the spherical map but the image remains one unit tall from
y=0 to y=1. This band of color is repeated at all heights unless the once keyword is applied.
Finally map_type 5 is a torus or donut shaped mapping. It assumes that a torus of major radius one
sits at the origin in the x-z-plane. The image is wrapped around similar to spherical or cylindrical maps. However the
top and bottom edges of the map wrap over and under the torus where they meet each other on the inner rim.
Types 3 and 4 are still under development.
Note: that the map_type option may also be applied to bump_map
and material_map statements.
For example:
sphere{<0,0,0>,1
pigment{
image_map {
gif "world.gif"
map_type 1
}
}
}
2.5.12.7.3 The interpolate Option
Adding the interpolate keyword can smooth the jagged look of a bitmap. When POV-Ray checks a color for
an image map or a bump amount for a bump map, it often checks a point that is not directly on top of one pixel but
sort of between several differently colored pixels. Interpolations return an in-between value so that the steps
between the pixels in the map will look smoother.
Although interpolate is legal in material maps, the color index is interpolated before the texture is
chosen. It does not interpolate the final color as you might hope it would. In general, interpolation of material maps
serves no useful purpose but this may be fixed in future versions.
There are currently two types of interpolation: interpolate 2 gives bilinear interpolation while interpolate
4 gives normalized distance. For example:
image_map {
gif "mypic.gif"
interpolate 2
}
Default is no interpolation. Normalized distance is the slightly faster of the two, bilinear does a better job of
picking the between color. Normally bilinear is used.
If your map looks jaggy, try using interpolation instead of going to a higher resolution image. The results can be
very good.
|