POV-Ray : Newsgroups : povray.beta-test : SSLT & CSG Artefacts : Re: SSLT & CSG Artefacts Server Time
5 Oct 2024 15:26:36 EDT (-0400)
  Re: SSLT & CSG Artefacts  
From: clipka
Date: 17 Apr 2009 12:40:01
Message: <web.49e8afd0375289de63aee5160@news.povray.org>
Le_Forgeron <jgr### [at] freefr> wrote:
> the "same material=same piece" approach was a first though. Which proved to be bad.
> (and it was only "same SSLT=same piece", not big as same material)
> My latest idea (a post or two up) is to have an explicit ID for the SSLT part. Thus,
if

You know what? My penultimate dream for CSG is a generic thing like this (using
a fairly "fantasy" syntax here:

csg {
  component A { MyObj1 }
  component B { MyObj2 }
  component C { MyObj3 }
  ...
  interior {
    case inside A and B and C -> interior { ... }
    case inside A and B       -> interior { ... }
    case inside A and C       -> interior { ... }
    case inside A             -> interior { ... }
    case inside B and C       -> interior { ... }
    case else                 -> interior { ... }
  }
  texture {
    case A->B inside C -> texture { ... }
    case B->A inside C -> texture { ... }
    case A->B          -> texture { ... }
    case B->A          -> texture { ... }
    case A->C inside B -> texture { ... }
    case B->outside    -> texture { ... }
    case outside->B    -> hide
    ...
  }
}

This will be a hell of a monster to code for complex cases, but it'll make the
most versatile CSG you can ever dream of, encompassing all the functionality of
union, merge, difference, intersection, and even your own specialized flavors of
csg.

In that respect, SSLT would be just an additional parameter to the interior
(yes, not the finish; it'll move out of there anyway), and "the same piece of
material" would simply be "anywhere I can go without hitting a non-hidden
surface". (Or, if even more versatility should ever be required, a special
"hide_for_sslt" parameter could be added to the finish.)


Post a reply to this message

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