|
|
On Fri, 12 Mar 1999 08:42:38 -0800, Ken <tyl### [at] pacbellnet> wrote:
>For Ron Parker:
>
>Q.) If I just add the inverse keyword to my triangle meshes shouldn't they
> work in csg operations ?
>
>A.) ?
Wow. Drifting across newsgroup boundaries now. I'm impressed.
A.) No. There is no way to find the "inside" of an arbitrary triangle
mesh, so the current implementation just assumes that nothing is inside of
a mesh object. Adding the inverse keyword would just change it to say
that everything is inside of a mesh object. The result would be that
intersecting an inverted mesh with a sphere would leave the entire sphere,
plus whatever part of the mesh is inside the sphere. The correct result,
of course, would be to leave only the parts of the sphere that are "outside
the mesh," and only the parts of the mesh that are inside the sphere. The
problem comes in when POV tries to define "outside the mesh."
The real common misunderstanding here, and one I've been guilty of, is
"If I want to make an object work in CSG, all I have to do is add an
insideness test, right?" The answer is no: you also have to ensure that
the all_intersections routine for your object really does return all of
the intersections for any given ray. The other common misconception is
that an insideness test for meshes is as simple as counting intersections.
See the recent and ongoing discussion in povray.programming for more than
you ever wanted to know about these topics.
Post a reply to this message
|
|