POV-Ray : Newsgroups : povray.off-topic : Hello again : Re: Hello again Server Time
19 Jul 2024 23:32:31 EDT (-0400)
  Re: Hello again  
From: clipka
Date: 6 Jul 2015 10:19:25
Message: <559a8e6d$1@news.povray.org>
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

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.