In previous versions of POV-Ray, most of the items in the interior
statement were previously part of the finish
statement. Also the halo
statement which was once part of the texture
statement has been discontinued and has been replaced by the media
statement which is part of interior
.
You are probably asking WHY? As explained earlier, the interior
contains items which describe the properties of the interior of the object. This is in contrast to the texture
which describes the surface properties only. However this is not just a philosophical change. There were serious inconsistencies in the old model.
The main problem arises when a texture_map
or other patterned texture is used. These features allow you to create textures that are a blend of two textures and which vary the entire texture from one point to another. It does its blending by fully evaluating the apparent color as though only one texture was applied and then fully reevaluating it with the other texture. The two final results are blended.
It is totally illogical to have a ray enter an object with one index or refraction and then recalculate with another index. The result is not an average of the two ior values. Similarly it makes no sense to have a ray enter at one ior and exit at a different ior without transitioning between them along the way. POV-Ray only calculates refraction as the ray enters or leaves. It cannot incrementally compute a changing ior through the interior of an object. Real world objects such as optical fibers or no-line bifocal eyeglasses can have variable iors but POV-Ray cannot simulate them.
Similarly the halo
calculations were not performed as the syntax implied. Using a halo
in such multi-textured objects did not vary the halo
through the interior of the object. Rather, it computed two separate halos through the whole object and averaged the results. The new design for media
which replaces halo
makes it possible to have media that varies throughout the interior of the object according to a pattern but it does so independently of the surface texture. Because there are other changes in the design of this feature which make it significantly different, it was not only moved to the interior
but the name was changed.
During our development, someone asked if we will create patterned interiors or a hypothetical interior_map
feature. We will not. That would defeat the whole purpose of moving these features in the first place. They cannot be patterned and have logical or self-consistent results.