|
|
On 3/17/19 8:11 AM, William F Pokorny wrote:
> On 2/12/19 12:52 PM, William F Pokorny wrote:
...
>
> So... The one remaining object inside test issue - which I still think
> real - is the spindle torus union case. The object inside test is acting
> like the merge variant. Image attached.
>
On taking a deeper look at this last torus union test, I think it OK too
- or at least consistent with current generic union media behavior with
one defined interior.
If three spheres are nested Matryoshka doll style as a union, the media
based on ray intervals is different and never consistent with the inside
object test today.
In the attached image the sphere union cases are shown in the left
column. The inside sphere test results in the middle column. Differences
in the right column as usual.
In the top row of the image the union is set up with the form:
#declare Union00 = union {
object { Sphere00 }
object { Sphere01 }
object { Sphere02 }
hollow
material {
...
}
}
Which I take to be like the torus union case and the behavior is
consistent. In the bottom row the union is set up with the form:
#declare Sphere00 = sphere { <0,0,0>, 0.45 hollow
material { Material00 }
}
#declare Sphere01 = sphere { <0,0,0>, 0.20 hollow
material { Material00 }
}
#declare Sphere02 = sphere { <0,0,0>, 0.07 hollow
material { Material00 }
}
#declare Union00 = union {
object { Sphere00 }
object { Sphere01 }
object { Sphere02 }
}
Interesting result, eh?
I've always avoided unions with media where shapes overlap. Still, I
thought only surfaces would be ignored - should they have a non-clear
texture - and that we'd always get multiple, end to end, surface to
surface media intervals instead of one. Instead, what happens media wise
looks more complicated. I see here too behavior that could be very
useful - if solidly defined and understood.
Why the different union media behavior - I'm not sure. My first guess is
that when the interior is defined on each sphere the parser can flatten
the spheres scene wise and it cannot where the interior has been applied
to the union alone. If right, the intervals are what they are media wise
and I can see how the result comes about.
Anyone better understand what is going on with unions and media here?
Wonder what happens if we use either of these union forms in further
csg. Also now wondering what really happens with semi-transparent
textures, IORs and union surfaces.
Aside: If using merge instead of union, results are always consistent
with the object inside test.
Bill P.
Post a reply to this message
Attachments:
Download 'unionmediabehavior.png' (146 KB)
Preview of image 'unionmediabehavior.png'
|
|