2.6.3.5 Advanced Techniques
To understand the autostop option, you need to understand the way photons are shot from light sources.
Photons are shot in a spiral pattern with uniform angular density. Imagine a sphere with a spiral starting at one of
the poles and spiraling out in ever-increasing circles to the equator. Two angles are involved here. The first, phi,
is the how far progress has been made in the current circle of the spiral. The second, theta, is how far we are from
the pole to the equator. Now, imagine this sphere centered at the light source with the pole where the spiral starts
pointed towards the center of the object receiving photons. Now, photons are shot out of the light in this spiral
pattern.
Normally, POV does not stop shooting photons until the target object's entire bounding box has been thoroughly
covered. Sometimes, however, an object is much smaller than its bounding box. At these times, we want to stop shooting
if we do a complete circle in the spiral without hitting the object. Unfortunately, some objects (such as copper
rings), have holes in the middle. Since we start shooting at the middle of the object, the photons just go through the
hole in the middle, thus fooling the system into thinking that it is done. To avoid this, the autostop
keyword lets you specify how far the system must go before this auto-stopping feature kicks in. The value specified is
a fraction of the object's bounding box. Valid values are 0.0 through 1.0 (0% through 100%). POV will continue to
shoot photons until the spiral has exceeded this value or the bounding box is completely covered. If a complete circle
of photons fails to hit the target object after the spiral has passed the autostop threshold, POV will then stop
shooting photons.
The autostop feature will also not kick in until at least one photon has hit the object. This allows
you to use autostop 0 even with objects that have holes in the middle.
Note:If the light source is within the object's bounding box, the photons are shot in
all directions from the light source.
2.6.3.5.2 Adaptive Search Radius
Unless photons are interacting with media, POV-Ray uses an adaptive search radius while gathering photons. If the
minimum number of photons is not found in the original search radius, the radius is expanded and searched again. Using
this adaptive search radius can both decrease the amount of time it takes to render the image, and sharpen the borders
in the caustic patterns.
Sometimes this adaptive search technique can create unwanted artefacts at borders. To remove these artefacts, a few
thresholds are used, which can be specified by expand_thresholds . For example, if expanding the radius
increases the estimated density of photons by too much (threshold is percent_increase, default is 20%, or 0.2), the
expanded search is discarded and the old search is used instead. However, if too few photons are gathered in the
expanded search (expand_min , default is 40), the new search will be used always, even if it means more
than a 20% increase in photon density.
2.6.3.5.3 Photons and Dispersion
When dispersion is specified for interior of a transparent object, photons will make use of that and show
"colored" caustics.
2.6.3.5.4 Saving and Loading Photon Maps
It is possible to save and load photon maps to speed up rendering. The photon map itself is view-independent, so if
you want to animate a scene that contains photons and you know the photon map will not change during the animation,
you can save it on the first frame and then load it for all subsequent frames.
To save the photon map, put the line
save_file "myfile.ph"
into the photons { } block inside the global_settings section.
Loading the photon map is the same, but with load_file instead of save_file . You cannot
both load and save a photon map in the POV file. If you load the photon map, it will load all of the photons. No
photons will be shot if the map is loaded from a file. All other options (such as gather radius) must still be
specified in the POV scene file and are not loaded with the photon map.
When can you safely re-use a saved photon map?
-
Moving the camera is always safe.
-
Moving lights that do not cast photons is always safe.
-
Moving objects that do not have photons shot at them, that do not receive photons, and would not receive photons
in the new location is always safe.
-
Moving an object that recieves photons to a new location where it does not receive photons is sometimes
safe.
-
Moving an object to a location where it recieves photons is not safe
-
Moving an object that has photons shot at it is not safe
-
Moving a light that casts photons is not safe.
-
Changing the texture of an object that recieves photons is safe.
-
Changing the texture of an object that has photons shot at it produces results that are not realistic, but can be
useful sometimes.
In general, changes to the scene geometry require photons to be re-shot. Changing the camera parameters or changing
the image resolution does not.
|