POV-Ray : Newsgroups : povray.general : Solid meshes in CSG : Re: Solid meshes in CSG Server Time
30 Jul 2024 20:28:52 EDT (-0400)
  Re: Solid meshes in CSG  
From: clipka
Date: 13 Dec 2008 12:45:00
Message: <web.4943f3a47b08f33b6c22a54d0@news.povray.org>
"SharkD" <nomail@nomail> wrote:
> > No, this is what you may *think* is the point.
>
> Be nice. There's no reason this discussion can't remain civil.

I *am* nice and civil :) If I'd shout at you, IT WOULD LOOK LIKE *THIS*! :)

I'm just emphasizing, that's all. I'd use italics, not bold, if newsgroups had
any kind of markup.

(See my posts in povray.unix about that timer issue I had for what I'm like when
I'm upset :})


> Ah, I see now. This happens in the case of the heightfield as well. My only
> request is that this behavior be toggled on and off. With other shapes (such as
> the heightfield) it is easy to create the closed volume defined as being
> "inside" the object via an intersection with a box or other primitive. But with
> a mesh this is non-trivial.

That's also exactly the reason why POV-ray currently doesn't do it for you :)


> > Second, POV's plane is *defined* to actually not be a plane, but "everything
> > 'below' the plane", for CSG purposes.
>
> ....and the heightfield, and the disc, and, incidentally, the mesh.

No, currently this is not the case in POV-ray, although I agree that it might be
of use if it was.

But it would require some extra processing, and therefore extra coding, to get
it to work. It's not deliberately "turned off" in the code - it's just not
there now.

With the plane, it is easy because nothing needs to be done except define which
side of it is inside and which is outside. There are no additional faces that
need to be created somehow in POV.

With the disc and height field, it would be comparatively easy to add some
square or cylindrical extrusion to infinity on one side.

With the mesh, POV would have to painstakingly analyze every edge of every
triangle and check if there's another triangle joining it (and if there are
multiple other such triangles, check if their number is odd or even) in order
to find holes, plus it would need to set up some internal data structure to
represent the holes it finds, so it can ultimately extrude them to infinity to
define the surfaces needed in the CSG.

So yes, it could be done, but it would take quite some coding effort. Which,
these days, is mainly invested instead in getting POV multithreaded properly.


Post a reply to this message

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