|
![](/i/fill.gif) |
Marc-Hendrik Bremer <Mar### [at] t-online de> wrote:
> Hi,
>
> in section 6.5.4.1. the evaluate keyword is described an it says about the
> three parameters:
>
> P0: the minimum max_gradient in the estimation process,
> P1: an over-estimated max_gradient value, (1 or greater)
> P2: an attenuation parameter (1 or less).
Indeed, the description of the P1 parameter isn't very accurate.
P1 is an over-estimating *factor*. This means that the max_gradient is
multiplied by the P1 parameter.
Also, in the evaluation process, the P1 and P2 parameters are used in
quadratic functions. This means that over-estimation increases more
rapidly with higher values and attenuation more rapidly with lower
values.
So, when you get the found max_gradient value after the first run with
the max_gradient keyword, use it with evaluate like this:
P0 : found max_gradient * min_factor
'min_factor' being a float between 0 and 1 to reduce the
max_gradient to a 'minimum max_gradient'. The ideal value for P0
would be the average of the found max_gradients, but we do not
have access to that information.
I usually start with 0,6 for the min_factor
P1 : sqrt(found max_gradient/(found max_gradient * min_factor))
'min_factor' being the same as used in P0
this will give an over-estimation factor of more than 1, based
on your minimum max_gradient and the found max_gradient.
P2 : 1 or less
I usually start with 0,7
Example: when the first run gives a found max_gradient of 356, start
with
evaluate 356*0,6, sqrt(356/(356*0,6)), 0,7
which is actually
evaluate 213,6, 1,29, 0,7
when getting artifacts/holes, increase the min_factor and/or P2 a bit
This method is only an approximation of what happens internally, but it
gives faster rendering speeds with the majority of isosurfaces.
--
e-mail:sme### [at] skynet be
http://users.skynet.be/smellenbergh
Post a reply to this message
|
![](/i/fill.gif) |