![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
If you render following scene once with INVERSE = 0 and once with INVERSE =
1 you get two different results. Only the rendering with INVERSE = 1 is
correct. Inversing the plane should not make any difference though. With
'0' get some strange internal reflections in the sphere.
The problem is probably somehow related to the interior definition in csg.
If you put the interior inside the sphere then the result is always correct.
Can anybody confirm this behavior?
- Micha
//begin code
#declare INVERSE = 0;
union {
sphere{<0,0,6>,2 pigment{rgbt <1,.5,.5,.5>}}
plane{y,0
rotate <33,23,5>
translate <0,4,0>
pigment{rgb 1}
#if (INVERSE)
inverse
#end
}
interior{ior 1.3}
}
light_source{<-3,4,-6>,1}
//end code
--
http://objects.povworld.org - the POV-Ray Objects Collection
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Christoph Hormann
Subject: Re: Strange effect in union with interior
Date: 7 Sep 2002 10:04:02
Message: <3D7A0751.C46048E2@gmx.de>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Micha Riser wrote:
>
> If you render following scene once with INVERSE = 0 and once with INVERSE =
> 1 you get two different results. Only the rendering with INVERSE = 1 is
> correct. Inversing the plane should not make any difference though. With
> '0' get some strange internal reflections in the sphere.
>
> The problem is probably somehow related to the interior definition in csg.
> If you put the interior inside the sphere then the result is always correct.
>
> Can anybody confirm this behavior?
>
I can confirm it somehow does not behave like i would intuitively expect
it (i.e. the interior in the union having the same effect like when placed
in both objects individually).
What you get with 'INVERSE = 0' is the same you get with the sphere ior=1
and the plane ior=1.3 set individually.
Christoph
--
POV-Ray tutorials, IsoWood include,
TransSkin and more: http://www.tu-bs.de/~y0013390/
Last updated 13 Aug. 2002 _____./\/^>_*_<^\/\.______
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Wasn't it Micha Riser who wrote:
>If you render following scene once with INVERSE = 0 and once with INVERSE =
>1 you get two different results. Only the rendering with INVERSE = 1 is
>correct. Inversing the plane should not make any difference though. With
>'0' get some strange internal reflections in the sphere.
Inversing the plane switches which side of the plane POV considers to be
the inside.
Normally you don't care which side of a plane is the "inside" unless you
are doing a difference or an intersection, but in this case you've
applied an IOR. The "inside" has IOR 1.3 and the "outside" has IOR 1.0.
To see that this is what's happening by changing the IOR from "1.3" to
"1/1.3" at the same time that you change the value of INVERSE.
--
Mike Williams
Gentleman of Leisure
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Mike Williams <mik### [at] econym demon co uk> wrote:
> Normally you don't care which side of a plane is the "inside"
I wouldn't say that. I would recommend always being aware which side of
the plane is inside. This way you avoid problems.
--
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |