|
![](/i/fill.gif) |
Ron Parker wrote:
>
> On Sat, 30 Jan 1999 07:14:23 -0800, Ken <tyl### [at] pacbell net> wrote:
> >If I have an object constructed using a CSG operation I get
> >two different results in the rendered object if I apply the
> >pigment and interior properties to the different pieces
> >versus the CSG as a single object ( see example ).
> >The difference is quite visible.
>
> This is similar to the problem that used to exist when IOR
> was part of the texture. POV keeps track of a stack of
> pointers to interiors, and when it hits a face it knows
> whether it is entering or exiting that object by checking
> the stack to see if it's already inside that interior.
> What does this mean? Let's look at an example.
>
> Take the lens-shaped intersection of two spheres. First, the
> case where the two spheres have their own interiors, with
> the same IOR, let's say 1.5. the ray enters the lens through
> sphere 1 and gets refracted as though it were going from an
> IOR of 1 to an IOR of 1.5, which is correct. It then exits
> through sphere 2, but because sphere 2 has a different
> interior from the one on the stack (distinct from sphere 1's
> interior, but with the same parameters) POV thinks it is now
> entering sphere 2. It tries to refract the ray commensurate
> with passing from an IOR of 1.5 to an IOR of 1.5, which has
> no net effect. The result is POV now believes the ray is
> in two interiors and is traveling through a medium of IOR
> 1.5, and it's not going in the direction you'd expect.
>
> Now, the case where the interior applies to the object as
> a whole: The ray enters through sphere 1 and gets refracted
> as before. It exits through sphere 2, but this time POV
> sees the same pointer and properly exits the sphere. Since
> it is now going from an IOR of 1.5 back to what it was (1)
> it bends the ray appropriately and pops the interior from
> the stack.
>
> POV should probably issue a warning if an object with an
> interior is used in a CSG or is clipped, with the possible
> exception of union.
That is a very reasonable explanation and it makes
sense even to me.
Thanks.
--
Ken Tyler
tyl### [at] pacbell net
Post a reply to this message
|
![](/i/fill.gif) |