|
![](/i/fill.gif) |
Am 30.04.2010 21:09, schrieb Edouard:
> It hangs when my settings are "subsurface { samples 1, 1 }", so I think it's
> gotten stuck with something. When I try to quit POV-Ray I get a crash.
Um... yes, that sounds suspicious indeed.
After having had a closer look at the stack trace, I think I found the
portion of the code where it hangs.
There is a loop at the beginning of
Trace::ComputeSingleScatteringContribution() that is intended to trace
the ray a random distance into the object, using a special random
distribution that may theoretically yield infinite distances; of course
the ray should only be traced up to the next intersection point with the
object's surface, so the algorithm will roll the dice again if that
condition isn't met.
That said, if the ray happens to hit an exceptionally thin part of the
object, the algorithm will roll the dice again and again and again
and... well, I guess you get the point.
The crucial thing here is the ratio between the object "thickness" and
the sum of the two coefficients used to specify the material's SSLT
properties. The smaller the coefficients and/or the "thinner" the
object, the more likely is a lockup to occur.
Note that you can reduce the probability of a lockup without changing
the scene geometry or material properties, by increasing the
"mm_per_unit" global setting (though of course this will reduce the SSLT
effect as if your whole scene was increased in size).
Post a reply to this message
|
![](/i/fill.gif) |