|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Hi,
When a ray first enters an object of, say ior 1.5, and then one with ior
1.3 (without leaving the first object), is that IOR than regarded
relative to the containing object, or absolute?
And, when the ray than leaves the second object, does it "remember" that
the outside has ior 1.5?
The reason I ask is, I made a glass with a liqid inside.
The common way to do this, is to scale the "liquid" by, .999.
But this causes the render to become very slow, because of reflections
between the liqid and the glass, because there are now two surfaces where
in reality there should be only one. So I had the idea to clip the glass
by a slightly bigger inverted copy of the liqid.
This is much faster, but I'm not sure if it gives correct results?
Lutz-Peter
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Lutz-Peter Hooge <lpv### [at] gmxde> wrote:
: When a ray first enters an object of, say ior 1.5, and then one with ior
: 1.3 (without leaving the first object), is that IOR than regarded
: relative to the containing object, or absolute?
: And, when the ray than leaves the second object, does it "remember" that
: the outside has ior 1.5?
AFAIK povray always remembers what is the current ior of the space the
current ray is travelling.
--
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}// - Warp -
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Warp" wrote:
> AFAIK povray always remembers what is the current
> ior of the space the current ray is travelling.
But how is the ior of the current space defined?
If object A has ior 1.3 and object B ior 1.5 and a ray goes like this:
enter A
enter B
*
leave A
leave B
...then what is the ior in the space marked by * ?
Rune
--
3D images and anims, include files, tutorials and more:
Rune's World: http://rsj.mobilixnet.dk (updated Jan 20)
POV-Ray Users: http://rsj.mobilixnet.dk/povrayusers/
POV-Ray Webring: http://webring.povray.co.uk
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In article <MPG.16c13f9478298a549896d4@news.povray.org> , Lutz-Peter Hooge
<lpv### [at] gmxde> wrote:
> When a ray first enters an object of, say ior 1.5, and then one with ior
> 1.3 (without leaving the first object), is that IOR than regarded
> relative to the containing object, or absolute?
> And, when the ray than leaves the second object, does it "remember" that
> the outside has ior 1.5?
>
> The reason I ask is, I made a glass with a liqid inside.
> The common way to do this, is to scale the "liquid" by, .999.
> But this causes the render to become very slow, because of reflections
> between the liqid and the glass, because there are now two surfaces where
> in reality there should be only one. So I had the idea to clip the glass
> by a slightly bigger inverted copy of the liqid.
>
> This is much faster, but I'm not sure if it gives correct results?
Not sure if it is anywhere else, but the 4th paragraph of
<http://www.povray.org/working-docs/id000174.html#6_6_1>
explains how and where the ior is used.
Thorsten
____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trfde
Visit POV-Ray on the web: http://mac.povray.org
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On Tue, 29 Jan 2002 23:46:26 +0100, Rune wrote:
> "Warp" wrote:
>> AFAIK povray always remembers what is the current
>> ior of the space the current ray is travelling.
>
> But how is the ior of the current space defined?
>
> If object A has ior 1.3 and object B ior 1.5 and a ray goes like this:
>
> enter A
> enter B
> *
> leave A
> leave B
>
> ...then what is the ior in the space marked by * ?
1.5. The important question, believe it or not, is what is the IOR
between "leave A" and "leave B". I actually had to look this one up,
and I think the behaviour changed between 3.1 and 3.5.
Here's the map of how it works:
IOR
1.0
enter A
1.3
enter B
1.5
leave A
1.5 (the IOR of the remaining "innermost" object)
leave B
1.0
Here's what happens when the water is scaled slightly larger than the inside
profile of the glass:
1.0 air (inside: air)
enter glass
1.5 glass (inside: air glass)
enter water
1.3 water (inside: air glass water)
exit glass
1.3 water (inside: air water)
enter glass
1.5 glass (inside: air water glass)
exit water
1.5 glass (inside: air glass)
exit glass
1.0 air (inside: air)
As you can see, this is preferable to the case where the water is slightly
smaller than the inside of the glass:
1.0 air (inside: air)
enter glass
1.5 glass (inside: air glass)
exit glass
1.0 air (inside: air)
enter water
1.3 water (inside: air water)
exit water
1.0 air (inside: air)
enter glass
1.5 glass (inside: air glass)
exit glass
1.0 air (inside: air)
This gives extra opportunities for TIR to occur, at the first glass->air
transition and at the water->air transition. This gives your glass a
silvery sheen like it would have if - surprise! - you had an air bubble
between the glass and the water.
The way it's done means you only have one IOR transition at each interface,
even though you intersect two surfaces.
--
#local R=rgb 99;#local P=R-R;#local F=pigment{gradient x}box{0,1pigment{gradient
y pigment_map{[.5F pigment_map{[.3R][.3F color_map{[.15red 99][.15P]}rotate z*45
translate x]}]#local H=pigment{gradient y color_map{[.5P][.5R]}scale 1/3}[.5F
pigment_map{[.3R][.3H][.7H][.7R]}]}}}camera{location.5-3*z}//only my opinions
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
So what I understand from this is that with respect to refraction, there's
not much difference between a water scaled a bit larger than the inner surface
of the glass compared to just water inside the glass (which doesn't have an
inner surface).
The difference appear in other two things: The amount of reflection (two
surfaces reflect more than one) and the rendering speed (two reflecting and
refracting surfaces take much longer to render than just one surface).
--
#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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In article <slr### [at] fwicom>, ron### [at] povrayorg
says...
> Here's what happens when the water is scaled slightly larger than the inside
> profile of the glass:
Ah, thanks very much!
I'm currently testing it.
The problem of reflections between the two surfaces than should be
solvable by adding a non-reflective interior-texture to the liquid, I
hope :-)
Lutz-Peter
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On Wed, 30 Jan 2002 02:28:31 +0100, Lutz-Peter Hooge wrote:
> In article <slr### [at] fwicom>, ron### [at] povrayorg
> says...
>
>> Here's what happens when the water is scaled slightly larger than the inside
>> profile of the glass:
>
> Ah, thanks very much!
> I'm currently testing it.
>
> The problem of reflections between the two surfaces than should be
> solvable by adding a non-reflective interior-texture to the liquid, I
> hope :-)
You're more likely to have success if you add a non-reflective interior
texture to both the glass and the liquid.
--
#macro R(L P)sphere{L F}cylinder{L P F}#end#macro P(V)merge{R(z+a z)R(-z a-z)R(a
-z-z-z a+z)torus{1F clipped_by{plane{a 0}}}translate V}#end#macro Z(a F T)merge{
P(z+a)P(z-a)R(-z-z-x a)pigment{rgbf 1}hollow interior{media{emission 3-T}}}#end
Z(-x-x.2x)camera{location z*-10rotate x*90normal{bumps.02scale.05}}
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In article <slr### [at] fwicom>, ron### [at] povrayorg
says...
> You're more likely to have success if you add a non-reflective interior
> texture to both the glass and the liquid.
No, I want to have reflections inside the glass itself.
But I was wrong with the water, it doesn't need any reflective surface on
either side (only on its "true" surfaces, but thats not a problem because
that is a differenced plane anyway)
Lutz-Peter
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Will POV render correctly in the case where the ray exits through a
water/air surface? For example, looking upward through a glass bowl of
water?
--
Christopher James Huff <chr### [at] maccom>
POV-Ray TAG e-mail: chr### [at] tagpovrayorg
TAG web site: http://tag.povray.org/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |