POV-Ray : Newsgroups : povray.general : Hothouse glass Server Time
5 Nov 2024 11:16:51 EST (-0500)
  Hothouse glass (Message 1 to 10 of 11)  
Goto Latest 10 Messages Next 1 Messages >>>
From: Thomas de Groot
Subject: Hothouse glass
Date: 8 Mar 2007 10:37:42
Message: <45f02dc6$1@news.povray.org>
Imagine you are standing in a hothouse. The glass is painted white but lets 
sunlight pass through in a diffused way. How can you simulate this in 
POV-Ray? I have been experimenting in several directions but the results are 
totally different from what I want. Anybody an idea how to solve this?
Alternatively, how do you simulate sunlight passing through a piece of white 
cloth? With objects standing in the way casting shadows that you can see on 
the other side?

Thanks a lot!

Thomas


Post a reply to this message

From: Vincent Le Chevalier
Subject: Re: Hothouse glass
Date: 8 Mar 2007 11:23:52
Message: <45f03898$1@news.povray.org>

> Imagine you are standing in a hothouse. The glass is painted white but lets 
> sunlight pass through in a diffused way. How can you simulate this in 
> POV-Ray? I have been experimenting in several directions but the results are 
> totally different from what I want. Anybody an idea how to solve this?
> Alternatively, how do you simulate sunlight passing through a piece of white 
> cloth? With objects standing in the way casting shadows that you can see on 
> the other side?
> 

I know of two ways to do that.

The cheapest in terms of computation time is to use the keyword 
double_illuminate. In a way, it allows the light to go through your 
object, and to influence radiosity computation, for example. You get to 
view shadows cast by objects on the layer as well. But it can cause 
problems if you need to view the layer from the outside and from the inside.

The other, more physically faithful way is to use a thin layer of 
scattering media, with a very high density. It's difficult to get right, 
though, because you'll probably need to tweak the media parameters to 
get a good looking surface that renders in a reasonnable time.

In both cases you need radiosity to have a lighting inside the hothouse 
from the sun...

Hope this helps

-- 
Vincent


Post a reply to this message

From: kike
Subject: Re: Hothouse glass
Date: 8 Mar 2007 11:25:00
Message: <web.45f037f1d230b81dbe7bfb550@news.povray.org>
It is a bit difficult to imagine the exact effect you are looking for but
Have you checked to design glass with normals? I mean I would try with
something like

pigment{rgbf<1,1,1,.9>}
normal{granite 2 scale .001}
..
..
..
(the rest of finish and interior properties)


I dont know what would happen but seems that it would let light pass through
the windows in a diffuse way, isnt it?


Post a reply to this message

From: Bill Pragnell
Subject: Re: Hothouse glass
Date: 8 Mar 2007 11:30:00
Message: <web.45f03961d230b81d731f01d10@news.povray.org>
"Thomas de Groot" <t.d### [at] internlDOTnet> wrote:
> Imagine you are standing in a hothouse. The glass is painted white but lets
> sunlight pass through in a diffused way. How can you simulate this in
> POV-Ray? I have been experimenting in several directions but the results are
> totally different from what I want. Anybody an idea how to solve this?
> Alternatively, how do you simulate sunlight passing through a piece of white
> cloth? With objects standing in the way casting shadows that you can see on
> the other side?

Have you tried double_illuminating polygonal windows/cloth, then using
high-quality radiosity? Would require quite a bit of parameter-juggling but
seems feasible off the top of my head.

Bill


Post a reply to this message

From: Alain
Subject: Re: Hothouse glass
Date: 8 Mar 2007 19:19:40
Message: <45f0a81c$1@news.povray.org>
kike nous apporta ses lumieres en ce 08-03-2007 11:21:
> It is a bit difficult to imagine the exact effect you are looking for but
> Have you checked to design glass with normals? I mean I would try with
> something like

> pigment{rgbf<1,1,1,.9>}
> normal{granite 2 scale .001}
> ..
> ..
> ..
> (the rest of finish and interior properties)


> I dont know what would happen but seems that it would let light pass through
> the windows in a diffuse way, isnt it?

Don't forget to set the ior in the interior. Any object behind the "glass" will 
get the effect. The light will go trough straight as an arrow unless you also 
use photons. You will need to use some aa.
Replace the light shining trough with a large area_light to give blured shadows.
You can use averaged normals whitch will give you a smoother result. If you use 
photons, the averaged normals will multiply your photons count, so, only apply 
that to one face (difference of 2 box, one with the normals and one flat) and 
keep the number of normals relatively low.

-- 
Alain
-------------------------------------------------
No matter how good she looks, some other guy is sick and tired of putting up 
with her shit.
	Men's Room, Linda's Bar and Grill, Chapel Hill , NC


Post a reply to this message

From: Thomas de Groot
Subject: Re: Hothouse glass
Date: 9 Mar 2007 03:32:12
Message: <45f11b8c@news.povray.org>
"Alain" <ele### [at] netscapenet> schreef in bericht 
news:45f0a81c$1@news.povray.org...
> kike nous apporta ses lumieres en ce 08-03-2007 11:21:
>> It is a bit difficult to imagine the exact effect you are looking for but
>> Have you checked to design glass with normals? I mean I would try with
>> something like
>
>> pigment{rgbf<1,1,1,.9>}
>> normal{granite 2 scale .001}
>> ..
>> ..
>> ..
>> (the rest of finish and interior properties)
>
>
>> I dont know what would happen but seems that it would let light pass 
>> through
>> the windows in a diffuse way, isnt it?
>
> Don't forget to set the ior in the interior. Any object behind the "glass" 
> will get the effect. The light will go trough straight as an arrow unless 
> you also use photons. You will need to use some aa.
> Replace the light shining trough with a large area_light to give blured 
> shadows.
> You can use averaged normals whitch will give you a smoother result. If 
> you use photons, the averaged normals will multiply your photons count, 
> so, only apply that to one face (difference of 2 box, one with the normals 
> and one flat) and keep the number of normals relatively low.
>

I did exactly what you (Kike and Alain) suggest here before ptting the 
question to the forum. Nice to see that we follow the same track. However, 
although quite acceptable, it does not show the glass panes as being painted 
white. They are more like frosted glass windows (very nice effect by the 
way).

Thomas


Post a reply to this message

From: Thomas de Groot
Subject: Re: Hothouse glass
Date: 9 Mar 2007 03:40:19
Message: <45f11d73$1@news.povray.org>
Vincent:
I am going to try both options. And see where that brings me. For a hothouse 
the media solution would be impractical I think. I am working on a 
geodesic-like dome with very many panes.

Bill:
double illumination is something I shall try, as also suggested by Vincent. 
I already discovered (with the frosted glass I came up with first) that high 
quality radiosity is essential indeed.

Thanks a lot, both of you!

Thomas


Post a reply to this message

From: Thomas de Groot
Subject: Re: Hothouse glass: a very acceptable solution
Date: 9 Mar 2007 04:15:55
Message: <45f125cb$1@news.povray.org>
Following the answers to my question, I give you here the solution I find 
very near to my intentions. Who knows, you may need it yourselves?

//---code started---
#version 3.6;

#include "colors.inc"
#include "rad_def.inc"

global_settings {
  assumed_gamma 1.0
  radiosity { Rad_Settings(Radiosity_Fast,off,off) }
}

// ----------------------------------------

camera {
  location  <0.0, 0.5, -4.0>
  direction 1.5*z
  right     x*image_width/image_height
  look_at   <-0.6, 0.0,  0.0>
}

sky_sphere {
  pigment {
    gradient y
    color_map {
      [0.0 rgb <0.6,0.7,1.0>]
      [0.7 rgb <0.0,0.1,0.8>]
    }
  }
}

light_source {
  0*x
  color rgb 1.0
  area_light
  <8, 0, 0> <0, 0, 8>
  4, 4
  adaptive 0
  jitter
  circular
  orient
  translate <-300, 30, 300>
}

// ----------------------------------------

plane {
  y, -1
  pigment { color rgb <0.7,0.5,0.3> }
}

sphere {
  0, 0.5
  texture {
    pigment {
      radial
      frequency 8
      color_map {
        [0.00 color rgb <1.0,0.4,0.2> ]
        [0.33 color rgb <0.2,0.4,1.0> ]
        [0.66 color rgb <0.4,1.0,0.2> ]
        [1.00 color rgb <1.0,0.4,0.2> ]
      }
    }
    finish{
      specular 0.6
    }
  }
  translate -0.5*y
}

cone { <0, 1, 0>, 0.0, <0, -1, 0>, 0.5
  pigment {rgb <1,0,0>}
  translate <-3, 0, 3.5>
}

//----------------------------------------------------------------------
#declare MatGlass =
material {
  texture {
    pigment {
      color rgbt <1.0, 1.0, 1.0, 0.4>
    }
    normal {
      granite , 0.05
      scale  0.001
    }
    finish {
      ambient 0
      diffuse 1
      brilliance 5
      specular 0.6
      roughness 0.001
      conserve_energy
      reflection {
        0.1 , 0.1
        fresnel  on
        falloff  1.0
        exponent 1.0
        metallic 0.0
      }
    }
  }
  interior {
    ior 1.5
    dispersion 1.02
    //fade_distance 1.0
    //fade_power 1001
  }
}

polygon {
  5, // number of points
  <-0.5, 0>, <0.5, 0>, <0.5, 1>, <-0.5, 1>, <-0.5, 0>
  material {MatGlass}
  double_illuminate
  scale 2
  rotate -45*y
  translate <-1, -1, 1>
}

//---code ended---


Thomas


Post a reply to this message

From: Vincent Le Chevalier
Subject: Re: Hothouse glass: a very acceptable solution
Date: 9 Mar 2007 05:09:16
Message: <45f1324c$1@news.povray.org>

> Following the answers to my question, I give you here the solution I find 
> very near to my intentions. Who knows, you may need it yourselves?
> 

Good result !

One minor thing is that you use ior in a polygon, which does not 
simulate accurately a glass layer. What happens is that the direction of 
a ray going through your polygon changes only once, while it changes 
twice when going to an actual window. This is caused by the fact that 
the polygon does not really have a finite inside... A ray "entering" the 
polygon never exits.

If you want to keep the micronormals, and still be able to see the 
object outside where they truely are, you could keep a polygon of 
"paint" inside a thin block of perfectly transparent glass. Something 
such as this:

//----------------------------------------------------------------------
#declare MatGlassBody =
material {
   texture {
     pigment {
       color rgbt t
     }
     normal {
       granite , 0.05
       scale  0.001
     }
     finish {
       ambient 0
       diffuse 1
       brilliance 5
       specular 0.6
       roughness 0.001
       conserve_energy
       reflection {
         0.1 , 0.1
         fresnel  on
         falloff  1.0
         exponent 1.0
         metallic 0.0
       }
     }
   }
   interior {
     ior 1.5
     dispersion 1.02
     //fade_distance 1.0
     //fade_power 1001
   }
}

#declare MatGlassLayer =
material {
   texture {
     pigment {
       color rgbt <1.0, 1.0, 1.0, 0.4>
     }
   }
}

union{
     polygon {
       5, // number of points
       <-0.5, 0>, <0.5, 0>, <0.5, 1>, <-0.5, 1>, <-0.5, 0>
       material {MatGlassLayer}
       double_illuminate
     }

     box {
       <-0.5, 0, -0.001>, <0.5, 1, 0.001>
       material {MatGlassBody}
     }
   scale 2
   rotate -45*y
   translate <-1, -1, 1>
}

//----------------------------------------------------------------------

Though it does have strange effects with micronormals, disturbs 
radiosity, and renders slower... Depends on the level of realism you 
want to achieve, and on your scene; if there is nothing to be seen 
outside, the problem will not appear...

Regards

-- 
Vincent


Post a reply to this message

From: Thomas de Groot
Subject: Re: Hothouse glass: a very acceptable solution
Date: 9 Mar 2007 07:58:40
Message: <45f15a00@news.povray.org>
"Vincent Le Chevalier" <gal### [at] libertyALLsurfSPAMfr> schreef in 
bericht news:45f1324c$1@news.povray.org...

>> Following the answers to my question, I give you here the solution I find 
>> very near to my intentions. Who knows, you may need it yourselves?
>>
>
> Good result !
>
> One minor thing is that you use ior in a polygon, which does not simulate 
> accurately a glass layer. What happens is that the direction of a ray 
> going through your polygon changes only once, while it changes twice when 
> going to an actual window. This is caused by the fact that the polygon 
> does not really have a finite inside... A ray "entering" the polygon never 
> exits.
>
> If you want to keep the micronormals, and still be able to see the object 
> outside where they truely are, you could keep a polygon of "paint" inside 
> a thin block of perfectly transparent glass. Something such as this:
>

Thanks a lot! That might be useful, but not for now. I build my dome with 
the Dome plugin in Moray, where the faces are automatically made of meshes, 
so I cannot really do as you say. The easy way out of course, is not use the 
ior in that case, but then the effect is lost. But for any other 
construction with glass I shall keep this in mind.

Thomas


Post a reply to this message

Goto Latest 10 Messages Next 1 Messages >>>

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