POV-Ray : Newsgroups : povray.binaries.images : PoVEarth, day #6 - first obstacle! Server Time
1 Aug 2024 16:32:11 EDT (-0400)
  PoVEarth, day #6 - first obstacle! (Message 11 to 13 of 13)  
<<< Previous 10 Messages Goto Initial 10 Messages
From: Jörg 'Yadgar' Bleimann
Subject: Re: PoVEarth, day #6 - first obstacle!
Date: 31 Jul 2008 17:40:52
Message: <48923164@news.povray.org>
High!

Reactor schrieb:

> I can see some artifacts that may be from your radiosity settings.  Can you post
> your code?  If not, I recommend lowering your error bound to about 1/3 to 1/4 of
> what it is.  Since a lot of the light is to be reflected from the bright, fully
> lit corner, changing the error bound may increase the brightness in this case.
> There are some other settings changes that I think you should consider also.

I increased count to 200 and lowered error_bound to 0.45... but the 
result (see attachment) did not improve significantly!

Perhaps it's because the rear walls are not close enough as I did not 
yet add the interior walls separating the apartments and rooms...

The code:

// My Place in the World
// A sub-sub-subsection of the PoVEarth project

// E-mail: yaz### [at] gmxde

// RADIOSITY

#declare radio=1;

global_settings
{
   #if (!radio)
     ambient_light 0.15
   #else
     ambient_light 0
     radiosity
     {
       brightness 1
       adc_bailout 0.01
       gray_threshold 0.8
       recursion_limit 20
       count 200
       error_bound 0.45
     }
   #end
}

// TIME VARIABLES

// PIGMENTS

#declare P_Concrete =
pigment
{
   color rgb 0.9
}

// FINISHES

#declare F_Standard =
finish
{
   diffuse 1
   brilliance 0.15
}

// NORMALS

// TEXTURES

#declare T_Concrete =
texture
{
   pigment { P_Concrete }
   finish { F_Standard }
}

// LENGTH VARIABLES

#declare FrKarl_SideStreet_Width = 6.09;
#declare FrKarl_SideStreet_Pavement_Width = 1.32;
#declare GWG_FrKarl_Block238to252_Front_Way_Length = 4.09;
#declare GWG_FrKarl_Block238to252_Front_Doorstep_Depth = 0.427;
#declare GWG_FrKarl_Block238to252_Stair_Height = 0.168;
#declare GWG_FrKarl_Block238to252_Floor_Height = 16 * 
GWG_FrKarl_Block238to252_Stair_Height;
#declare GWG_FrKarl_Block238to252_Floor_yOffset = 8 * 
GWG_FrKarl_Block238to252_Stair_Height;
#declare GWG_FrKarl_Block238to252_Ceiling_Thickness = 0.148;
#declare GWG_FrKarl_Block238to252_Balcony_Spacing=9.19;

// OBJECT DEFINITIONS

#declare GWG_FrKarl_Block238to252_Raw=
box
{
   0, <11.08, 9.523, 53.49>
}

#declare GWG_FrKarl_Block238to252_Balcony_Raw=
difference
{
   box
   {
     0, <1.155, 0.948, 3.24>
   }
   box
   {
     <0.165, 0.148, 0.155>, <1.65, 0.95, 3.085>
   }
}

#declare GWG_FrKarl_Block238to252_Floor_Cutout =
box
{
   0, <10.34, 2.54, 52.75>
}

#declare GWG_FrKarl_Block238to252_Balcony_Door_Cutout =
box
{
   0, <0.38, 2.14, 1.14>
}

// CAMERA SETTINGS
// using microlocal coordinates

#declare view=5;

#switch(view)
   #case (0) // pedestrian view on side street, up building #246
     #declare camPos = <-8, 1.7, 10>;
     #declare camLook = <1, 7.2, 3>;
     #declare camAng = 40;
   #break

southward along side street
     #declare camPos = <-(FrKarl_SideStreet_Width / 2 + 
FrKarl_SideStreet_Pavement_Width + 
GWG_FrKarl_Block238to252_Front_Way_Length +
                        GWG_FrKarl_Block238to252_Front_Doorstep_Depth), 
1.7, 70>;
     #declare camLook =<-(FrKarl_SideStreet_Width / 2 + 
FrKarl_SideStreet_Pavement_Width + 
GWG_FrKarl_Block238to252_Front_Way_Length +
                        GWG_FrKarl_Block238to252_Front_Doorstep_Depth), 
1.7, 0>;
     #declare camAng = 60;
   #break
   #case (2) // pedestrian view on side street, up building #244
     #declare camPos = <-8, 1.7, 10>;
     #declare camLook = <-30, 7.2, 0>;
     #declare camAng = 40;
   #break
   #case (3) // inside 1st floor of building #244, looking east
     #declare camPos = <-25.5, 5.9, 2.5>;
     #declare camLook =<-16, 4.6, 2.5>;
     #declare camAng = 40;
   #break
   #case (4) // inside 1st floor of building #244, balcony door 
threshold close-up
     #declare camPos = <-17.9, 5.5, 2.5>;
     #declare camLook = <-17.76, 3.5, 2.5>;
     #declare camAng = 40;
   #break
   #case (5) // inside my apartment, looking west
     #declare dir = 270;
     #declare azi = -10;
     #declare camPos = <4.2, 40 * 0.168 + 1.7, 2.5>;
     #declare camLook = camPos + < sin(radians(dir))*cos(radians(azi)), 
sin(radians(azi)), cos(radians(dir))*cos(radians(azi))>;
     #declare camAng = 50;
   #break

#end

// ACTUAL SCENE

#declare detail=0;

#if (!detail) // full scene views

   // SCALE MODELS

   #declare models = array[5] { 0, 0, 0, 1, 0 }
   // models[0]: cosmic scale - whole Solar System, heliocentric
   // models[1]: global scale - Earth, geocentric, spherical terrain relief
   // models[2]: regional scale - 40 x 40 kms area around Cologne, 
heightfield
   // models[3]: local scale - 500 x 500 metres around my apartment, plane
   // models[4]: microlocal - my apartment only, outside world only as 
HDRI bitmaps

   #declare a=0;
   #declare i=0;
   #while (a<5)
     #if (models[a])
       #declare i=i+1;
     #end
     #declare a=a+1;
   #end

   #if (!i | i>1)
     #warning "Missing or ambiguous scale setting" // terminating POV script
   #else
     #if (models[0])
       #declare f=1000000 // 1 unit = 1000 kms
     #end
     #if (models[1])
       #declare f=1000; // 1 unit = 1 km
     #end
     #if (models[2] | models[3] | models[4])
       #declare f=1; // 1 unit = 1 metre
     #end

     #if (models[3])
       #declare trans=<251.565, 0, 250.325>;
     #end

    // #declare f=1;

     #if (models[3])
       light_source
       {
         <0, 500, -1000>
         color rgb 1
       }
     #end



     #if (models[2] | models[3])
       plane
       {
         y, 0
         texture // bare sandy soil
         {
           pigment { color rgb <0.5, 0.35, 0.2> }
           finish { F_Standard }
         }
       }
     #end


     #if (models[3])
       sky_sphere
       {
         pigment
         {
           gradient y
           color_map
           {
             [0 rgb <0.7, 1, 1>]
             [0.25 rgb <0, 0.5, 1>]
             [1    rgb <0, 0.5, 1>]
           }
         }
       }
     #end


#250 and #252
     {
       union
       {
         object
         {
           GWG_FrKarl_Block238to252_Raw
           scale 1/f
         }
         #declare a=0;
         #while (a<3) // 3 floors with balconies
           #declare b=0;
           #while (b<2) // 2 balconies per floor
             object
             {
               GWG_FrKarl_Block238to252_Balcony_Raw
               scale 1/f
               translate <-1.155 +b * 0.515, 
GWG_FrKarl_Block238to252_Floor_yOffset + a * 
GWG_FrKarl_Block238to252_Floor_Height - 0.148, 1.045 + b *
                          GWG_FrKarl_Block238to252_Balcony_Spacing>/f
             }
             #declare b = b + 1;
           #end
           #declare a = a + 1;
         #end
       }
       #declare a=0;
       #while (a<3)
         object
         {
           GWG_FrKarl_Block238to252_Floor_Cutout
           scale 1/f
           translate <0.37, GWG_FrKarl_Block238to252_Floor_yOffset + a * 
GWG_FrKarl_Block238to252_Floor_Height, 0.37>
         }
         #declare a = a + 1;
       #end
       #declare a=0;
       #while (a<3)
         #declare b=0;
         #while (b<2)
           object
           {
             GWG_FrKarl_Block238to252_Balcony_Door_Cutout
             scale 1/f
             translate <-0.005,
		      GWG_FrKarl_Block238to252_Floor_yOffset + 0.00001 + a * 
GWG_FrKarl_Block238to252_Floor_Height,
                       1.86 + b * 
GWG_FrKarl_Block238to252_Balcony_Spacing + 0.4>/f
           }
           #declare b = b + 1;
         #end
         #declare a = a + 1;
       #end

       translate trans/f
       texture { T_Concrete }
     }


#242 and #244
     {
       union
       {
         object
         {
           GWG_FrKarl_Block238to252_Raw
           scale 1/f
         }
         #declare a=0;
         #while (a<3) // 3 floors with balconies
           #declare b=0;
           #while (b<2) // 2 balconies per floor
             object
             {
               GWG_FrKarl_Block238to252_Balcony_Raw
               rotate y*180
               scale 1/f
               translate <11.08 + 1.155 - b * 0.515,
			GWG_FrKarl_Block238to252_Floor_yOffset + a * 
GWG_FrKarl_Block238to252_Floor_Height - 0.148,
			1.045 + 3.24 + b * GWG_FrKarl_Block238to252_Balcony_Spacing>/f
             }
             #declare b = b + 1;
           #end
           #declare a = a + 1;
         #end
       }
       #declare a=0;
       #while (a<3)
         object
         {
           GWG_FrKarl_Block238to252_Floor_Cutout
           scale 1/f
           translate <0.37, GWG_FrKarl_Block238to252_Floor_yOffset + a * 
GWG_FrKarl_Block238to252_Floor_Height, 0.37>
         }
         #declare a = a + 1;
       #end
       #declare a=0;
       #while (a<3)
         #declare b=0;
         #while (b<2)
           object
           {
             GWG_FrKarl_Block238to252_Balcony_Door_Cutout
             scale 1/f
             translate <10.705,
		      GWG_FrKarl_Block238to252_Floor_yOffset + 0.00001 + a * 
GWG_FrKarl_Block238to252_Floor_Height,
                       1.86 + b * 
GWG_FrKarl_Block238to252_Balcony_Spacing + 0.4>/f
	  }
           #declare b = b + 1;
         #end
         #declare a = a + 1;
       #end
       texture { T_Concrete }
       translate (< -((FrKarl_SideStreet_Pavement_Width + 
GWG_FrKarl_Block238to252_Front_Way_Length +
                    GWG_FrKarl_Block238to252_Front_Doorstep_Depth)*2 +
                    FrKarl_SideStreet_Width)-11.08,
                    0,
                    0 > + trans)/f
     }
			
     camera
     {
       location camPos/f +trans
       look_at camLook/f +trans
       angle camAng
     }




   #end

#else // single detail views

   sky_sphere
   {
     pigment { color rgb 1 }
   }

   plane
   {
     y, 0
     texture
     {
       pigment { color rgb 1 }
       finish { F_Standard }
     }
   }

   light_source
   {
     <1000, 2000, -4000>
     color rgb 1
   }

   object
   {
     GWG_FrKarl_Block238to252238to252_Balcony_Raw
     texture { T_Concrete }
   }

   camera
   {
      location <8, 1.5, 1.6>
      look_at  <0, 0.5, 1.6>
      angle 40
   }

#end


Post a reply to this message


Attachments:
Download '2008-07-31 inside my apartment, take 2 (yadgar).jpg' (15 KB)

Preview of image '2008-07-31 inside my apartment, take 2 (yadgar).jpg'
2008-07-31 inside my apartment, take 2 (yadgar).jpg


 

From: Reactor
Subject: Re: PoVEarth, day #6 - first obstacle!
Date: 1 Aug 2008 10:40:01
Message: <web.48931f7951b8f74a5206c9930@news.povray.org>
=?ISO-8859-1?Q?J=F6rg_=27Yadgar=27_Bleimann?= <yaz### [at] gmxde> wrote:
> High!
>
> Reactor schrieb:
>
> > I can see some artifacts that may be from your radiosity settings.  Can you post
> > your code?  If not, I recommend lowering your error bound to about 1/3 to 1/4 of
> > what it is.  Since a lot of the light is to be reflected from the bright, fully
> > lit corner, changing the error bound may increase the brightness in this case.
> > There are some other settings changes that I think you should consider also.
>
> I increased count to 200 and lowered error_bound to 0.45... but the
> result (see attachment) did not improve significantly!
>
> Perhaps it's because the rear walls are not close enough as I did not
> yet add the interior walls separating the apartments and rooms...
>
> The code:



Unfortunately, I wasn't able to get the indoors much brighter without
brightening the outdoors.  I was playing with 'exposure' under MegaPov 1.21.
The only thing I can recommend is using a different diffuse value for indoors
(like 1.00) and outdoors (like 0.50), and boosting the brightness in the
radiosity block.


HTH
-Reactor


Post a reply to this message

From: Darren New
Subject: Re: PoVEarth, day #6 - first obstacle!
Date: 1 Aug 2008 11:17:26
Message: <48932906$1@news.povray.org>
Reactor wrote:
> Unfortunately, I wasn't able to get the indoors much brighter without
> brightening the outdoors. 

Just as an aside:
"""

density of light that falls on a surface. This is what light
meters measure. For example, average indoor lighting
ranges from 100 to 1,000 lux, and average outdoor
sunlight is about 50,000 lux.
"""

"""

expressed as candelas per square meter of light emitting
surface. [...] For
example, the luminance of a heavily overcast sky is about
1,000 candelas per square meter, and the luminance of
a typical frosted light bulb is about 100,000 candelas
per square meter.
"""

http://www.energybooks.com/pdf/D1150.pdf

There might be a good reason getting this to work takes some extreme 
values. :-)  Eyeballs are pretty amazing devices.

-- 
Darren New / San Diego, CA, USA (PST)


Post a reply to this message

<<< Previous 10 Messages Goto Initial 10 Messages

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