|
![](/i/fill.gif) |
Hi,
I am sorry for the delay in responding to these messages because I
am somewhat busy due to other works.
>It is because it was never documented anywhere so I assumed
>it was an inconsistent behavior in the code.
I have sent an old paper, which describes the algorism of isosurface
root finding and the dynamic (or adaptive) maximum gradient
estimation method, to you (Thorsten) by e-mail a few months ago.
I have not written the description on my web because the paper
has not been published. But maybe it's time to open it.
It is very simple as following.
**** Dynamic maximum gradient estimation *****
max_gradient G_max
"eval(uate) P0, P1, P2"
where
P0 is the minimum max_gradient value in the estimation process,
P1 should be more than 1 (over-estimation parameter), and
P2 should be less than 1 (attenuation parameter).
The max_gradient, G_max, is re-calculated for each ray as following
If (G_max< G*P1)
then G_max = G*P1*P1
else if (G_max>P0) then G_max = G_max*P2,
where G is the calculated maximum gradient of one ray.
If the gradient changes smoothly in the whole region, we can lower
the above parameters. As a result, we can accelerate the rendering
speed. But if there are large discontinuities in the 'gradient',
it may not work for low values.
----------
This method has two purposes, one is evaluation of max_gradient,
and the other is acceleration of the rendering speed using the "else if"
part.
That part is removed (or P2=1) in beta 7, isn't it?
R. Suzuki
Post a reply to this message
|
![](/i/fill.gif) |