POV-Ray : Newsgroups : povray.unofficial.patches : My personal wishlist : Re: My personal wishlist Server Time
2 Sep 2024 18:18:00 EDT (-0400)
  Re: My personal wishlist  
From: Peter Popov
Date: 26 Feb 2000 12:26:30
Message: <5we4OFqs+4Dl3UdLMdfIlHVIiN86@4ax.com>
On Fri, 25 Feb 2000 10:16:09 +0200, "Gail Shaw" <gsh### [at] monotixcoza>
wrote:

>>: chop pieces off with bounding
>>
>>If a bounding object is smaller than what it bounds, the results are
>>unpredictable. I think a more logical behaviour would be the one seen
>>in isosurfaces, i.e. the bounding object should restrict the bounded
>>object, exposing the intersection surface and texture. Of course, it
>>would still bound the object for ray-shape intersection tests.
>
>
>Isn't that better done with clipped by? Or do you want to merge the two?

Neither. I want to see the texture of an arbitraty object where it
intersects its (manual!) bounding object. Chris and PoD (and probably
others) already pointed out the major problem, that some users might
be lead into believing that bounding is a type of CSG, and this is a
Real Bad Thing(tm). I am giving up this idea in favour of the next one
(which duplicates this functionality anyway).

>>: leave original textures when CSGing
>>
>>When performing a CGS difference or intersection, any object with a
>>non-specified texture is assumed to have a black pigment and ambient
>>0. I think a more reasonable behaviour would be to ignore its texture
>>and use the texture of whatever object the intersection point is in.
>>Of course this could lead to "coincident interiors" problems but I
>>think with proper CGSing they can be avoided.
>
>
>That would make my life SO much easier. Difficult to
>implement though (Think of the following:
>difference {
> union {
>  sphere {
>    <0,0.5,0>,1
>    pigment {Red}
>   }
>   sphere {
>    <0,-0.5,0>,1
>    pigment {Blue}
>   }
>  }
>  box {
>   <0,-2,-2>,<2,2,2>
>  }
> }
>
>What colour should the overlapped area of the spheres be?
>Red, Blue or Purple?

Replace it with this:
difference {
 union {
  intersection { sphere { 0.5*y, 1 } plane { -y, 0 } pigment { Red } }
  intersection { sphere { -0.5*y, 1 } plane { y, 0 } pigment { Red } }
 }
 box { <0,-2,-2>, <2,2,2> }
}

and you'll see what I mean by "proper CSG" :)

>Another I would like :
> The ability to layer a texture over a complex CSG when each
>part has its own texture (If this is possible without using two copies of
>the object, please let me know)

This would certainly be useful. It can be done without a separate copy
of the object if each piece of the CSG has the desired texture layered
over its own.


Peter Popov
pet### [at] usanet
ICQ: 15002700


Post a reply to this message

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