Am 21.05.2015 um 10:05 schrieb Lars Rohwedder:
>> 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'.
While that sounds like a neat idea at first, it becomes troublesome as
soon as you try to implement the corresponding function for all the
Spheres are ok.
Boxes, yes, you can do that.
Cylinders and cones, too.
Meshes and height fields? Things are starting to get a bit more complicated.
Prisms or lathes based on non-linear splines? Text? Bezier patches? It
gets ugly here, making these objects as complicated as sphere sweeps
(which are known to be prone to artefacts).
Isosurfaces? Surprisingly enough, while isosurfaces are the easiest way
to already get what you are asking for (provided there is a solution to
the problem at all), determining where the distance between the ray and
the surface equals 'd' is outright impossible for generic isosurfaces.
Fractals? You must be kidding.
Post a reply to this message