|
|
Lars Rohwedder <rok### [at] gmxde> wrote:
> > I have never found a satisfactory solution to the general rounding
> > problem. Isosurface blobs are good, but isosurfaces take so long to
> > render. Extensive macros for CSG, or hand-modelled meshes seem the
> > best value for time vs results...
>
> My rough idea:
>
> There is already a function that returns whether a vieving ray "hits"
> the surface of a given object's surface (and where it hits). I assume
> this function is used in the render core of Povray, too.
>
> So it should be possible to provide another function that returns the
> point where the distance between ray and object is 0, but where it has a
> given distance 'd'.
>
> Rendering using that function should result in "puffed-up" objects, so
> you have to shrink your objects by 'd' before (which can be done by the
> Povray core automatically, too. AFAIK)
This algorithm will fail for all rays parallel to the object surface, where the
ray does not hit the surface. A simple example where this becomes important is
an L-shaped corner where the object is the left and bottom side of the L-shape
and the ray runs parallel to the L-spahe on the upper-right quadrant. Obviously
you would want that inner corner rounded, but the surface would never be found.
Thorsten
Post a reply to this message
|
|