|
![](/i/fill.gif) |
Am 06.07.2015 um 13:58 schrieb Le_Forgeron:
> ahem...
>
> The described distance fields are exactly povray isosurface :
> first vector (vec p) is the position, and the other optional parameters
> are the formula's specific constants if any. (the threshold parameter of
> povray is a bonus to adjust the surface, but you can keep it at 0 and
> change the formula instead).
>
> The difference is mainly syntax and the capability to have intermediate
> computation within the definition of distance field, whereas for an
> isosurface the formula must be provided at once (which might preclude
> some optimisations such as factoring the same sub-computation-branch).
Nah; that's just syntax, not an inherent property of either isosurfaces
or distance fields.
I've never used distance fields, but from the article it is pretty clear
that indeed the key difference is one additional condition obeyed by
distance fields:
|f'(p)|=1
wherever an unambiguous solution for f'(p) exists. Or, to put it in
other words, the gradient is 1 except for a few unavoidable kinks in the
field.
This allows for a simpler algorithm, based on the presumption that
max_gradient is always 1.
Yes, the page does contain functions where this is not the case - but it
explicitly mentions that they're not true distance field functions
anymore, and require the algorithm to be adapted accordingly. (And yes,
the generalization of the algorithm does indeed seem to be the same as
POV-Ray's isosurfaces.)
Post a reply to this message
|
![](/i/fill.gif) |