POV-Ray : Newsgroups : povray.unofficial.patches : Tesselation patch v. 0.1alpha : Re: Tesselation patch v. 0.1alpha Server Time
2 Sep 2024 00:16:46 EDT (-0400)
  Re: Tesselation patch v. 0.1alpha  
From: Jérôme Grimbert
Date: 23 Jan 2001 03:55:20
Message: <3A6D4704.1D4501E8@atosorigin.com>
Warp wrote:
> 

>>   I'm not happy with this kind of "kludge". I want to know why the problem
> happens and why that "solution" seems to correct it, and when I know it,
> I want to apply the correct solution at the correct place.
>   I don't think that those modifications are answer.
> 

Well, I'm not happy with it either.
The more I play with the original code, the more it looks like
a design problem related to the well-known coincident surface
trouble: bogus happen when one vertex is ON the object.

Let me explain: the code use the Inside_ functions to know if a 
point of a cubic net is either inside or outside the object.
The fact is that it miss a subtlety : a point can be outside, inside
or on the surface.
As later an intersection is only searched between an outside and an inside
vertex, It happens that a point which is EXACTLY ON the surface
is tagged as OUTSIDE (at least for spheres.c, and we do not want to
change this, do we ?).

May be a change in the search for intersection can help: 
remove outside/insde optimisation, always search for the intersection
and keep it only if it is between the two vertex.
If this solution works, it provides a bonus: you could tesselate ALL
objects (even the flat disk!).
You would then keep the external optimisation (but loose the 
inside/outside one, thus casting far more rays).


Post a reply to this message

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