> That is less than a half of the time the approach with the distance estimation
> function needed which was intended to accelerate the solver originally. Since I
> have no idea what solver POV uses to compute the surface of an isosurface (and I
> have not the wits to work through the POV sources for it) I would be happy if
> someone of the more involved can name the algorithm used by POV to solve this
> unexpected riddle.
One name for it is "sphere tracing". So called because at each point
along the ray POV determines the largest sphere that doesn't intersect
the surface. It then moves the radius of this sphere along the ray and
repeats. The radius of the "largest sphere" is determined by the
function value at that point divided by the "max_gradient".
The fact it takes longer with the D.E. function might be because you
have not optimised "max_gradient" in the isosurface. "max_gradient"
needs to be chosen specifically for each function you use in an
isosurface. In your D.E. version I was able to reduce it from 1000 to
0.5 without any obvious impact on the image (you will probably need to
experiment a bit to determine the optimum value). Max_Iterations
probably doesn't need to be as high as 64 for a wide-angle shot of the
entire mandelbulb.
Post a reply to this message
|