POV-Ray : Newsgroups : povray.general : Weird artifacts from two superposed boxes perspective view : Re: Weird artifacts from two superposed boxes perspective view Server Time
30 Jul 2024 12:21:58 EDT (-0400)
  Re: Weird artifacts from two superposed boxes perspective view  
From: Mike
Date: 14 Jan 2009 19:20:00
Message: <web.496e807d620d6c00cb45af7a0@news.povray.org>
I actually did this and it still did not work.  I also tried overlapping the two
and using the merge operation and that did not work either.

-Mike

Alain <ele### [at] netscapenet> wrote:
> Mike nous illumina en ce 2009-01-14 16:50 -->
> > I have been trying to model an experiment with two different liquids with
> > different indicies of refraction with one on top of the other.  With help from
> > this forum I am nearly able to get it modeled nicely.  However, It still does
> > not look correct when looking from a perspective view.  I have made a very
> > simple approximation.  Two objects with different refractive indices on top of
> > each other. Looking at it from a perspective view has some weird artifacts and
> > does not look correct.  I have been scratching my head for a while on this one.
> >  I tried merging, shifting up and down, etc.  I have posted my code below,
> > please take a look.
> >
> > Thanks,
> > Mike
> >
> > #include "colors.inc"
> > #include "textures.inc"
> >
> > global_settings{max_trace_level 255}
> > camera {
> >      location  <0, 3, 160>
> >     look_at   <0, 3, 0>
> >     angle 2.5
> >       rotate <-30*1,-30*1,0>
> >    }
> > #declare MaterialAlcohol =
> > material {
> >   texture {
> >      pigment {
> >         color rgbf<1, 1, 1,1>
> >       }
> >  finish {
> >         ambient 0.0
> >         diffuse 0.0
> >          reflection {
> >           0.0, 1.0
> >           fresnel on
> >         }
> >         conserve_energy
> >         specular  0
> >         roughness 0
> >  }
> >   }
> >   }
> >
> >   #declare HeavyLiquid =
> > material {
> >   texture {
> >      pigment {
> >         color rgbf<0.6, 0.5, 0,1>
> >       }
> >  finish {
> >         ambient 0.0
> >         diffuse 0.0
> >          reflection {
> >           0.0, 1.0
> >           fresnel on
> >         }
> >       conserve_energy
> >        specular 0
> >      roughness 0
> >  }
> >   }
> >   }
> >
> >
> > #declare AlcoholRegion=
> > box { <-1.899, 0.2, -1.899>, <1.899, 3, 1.899>
> > material { MaterialAlcohol }
> >   interior {
> >   ior 1.3800
> > }
> >  }
> >
> > #declare HeavyLiquidRegion=
> > box { <-1.899, 3, -1.899>, <1.899, 5, 1.899>
> > material { HeavyLiquid }
> >  interior {
> >     ior 1.4
> > }
> > }
> >
> > //merge{
> > object{AlcoholRegion}
> > object{HeavyLiquidRegion}
> > //}
> > light_source {
> >     <4, 8, 10>
> >     color White
> >   }
> > plane{y,0 texture{pigment{White}finish{ambient 0 diffuse 1}}}
> >
> >
> >
> The two objects with the different ior have a coincident surface. That's 2 faces
> that are exactly at the same location. When a ray reatch those, it can't readily
> chose between whitch one is encountered first. Then, you have rounding errors
> from the FP number crunching.
>
> The cure is to move one object a very little bit.
> The best way may be to have the two objects overlap by a small value:
> change "HeavyLiquidRegion" dimentions as follow
> box { <-1.899, 2.9999, -1.899>, <1.899, 5, 1.899>
>
> OR, you can do it the other way and create a small gap:
> box { <-1.899, 3.0001, -1.899>, <1.899, 5, 1.899>
>
> --
> Alain
> -------------------------------------------------
> There will always be beer cans rolling on the floor of your car when the boss
> asks for a ride home from the office.


Post a reply to this message

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