POV-Ray : Newsgroups : povray.binaries.images : PoVEarth, day #9 : Re: PoVEarth, day #9 Server Time
1 Aug 2024 10:18:58 EDT (-0400)
  Re: PoVEarth, day #9  
From: Jörg 'Yadgar' Bleimann
Date: 3 Sep 2008 17:55:35
Message: <48bf07d7@news.povray.org>
High!

Reactor schrieb:

 > I could not tell the differences between the images you posted,

See attachment... when the camera is positioned between main room and 
bathroom door, the walls of both rooms are considerably brighter than if 
  the camera was placed right in front of the bathroom door!

but there are
 > some radiosity artifacts I can see.  The strange lightness in the 
interior
 > corners is from the ambient light.

This is obviously not true as I (see my reply to Zeger) set the global 
ambient_light as well as the default texture ambient to 0 - but the 
brightened corners still persist!

Can you post the related code?

Here it is:

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

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

// RADIOSITY

#declare radio=1; // flag for radiosity
#declare balanced=1; // flag for balanced lighting levels, as suggested 
by Reactor

#if (balanced=1)
   #declare radbri=3;
   #declare outerDiff = 0.48;
   #declare innerDiff = 1;
#else
   #declare radbri=1;
   #declare outerDiff = 1;
   #declare innerDiff = 1;
#end

global_settings
{
   #if (!radio)
     ambient_light 0.15
   #else
     ambient_light 0
     radiosity
     {
       brightness radbri
       adc_bailout 0.01
       gray_threshold 0.8
       recursion_limit 3
       count 35
       error_bound 1.8
     }
   #end
}

#default
{
   finish { ambient 0 }
}

// TIME VARIABLES

// PIGMENTS

#declare P_Concrete =
pigment
{
   color rgb 0.9
}

// FINISHES

#declare F_Standard_Outer =
finish
{
   diffuse outerDiff
   brilliance 0.15
}

#declare F_Standard_Inner =
finish
{
   diffuse innerDiff
   brilliance 0.15

}


// NORMALS

// TEXTURES

#declare T_Concrete_Outer =
texture
{
   pigment { P_Concrete }
   finish { F_Standard_Outer }
}

#declare T_Concrete_Inner =
texture
{
   pigment { P_Concrete }
   finish { F_Standard_Outer }
}


// 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_Front_Doorstep_Depth = 0.115;
#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>
}

#declare GWG_FrKarl_Block238to252_MiddleApartment_InnerWall =
box
{
   0, <0.37, 7.892, 7.925>
}

#declare GWG_FrKarl_Block238to252_SouthernApartment_Bathroom_Wall =
box
{
   0, <3.515, 7.892, 0.1>
}

#declare GWG_FrKarl_Block238to252_SouthernApartment_InnerChimney =
box
{
   0, <0.5, 7.892, 0.3>
}

#declare GWG_FrKarl_Block238to252_SouthernApartment_BathroomDrainageBlock =
box
{
   0, <0.265, 7.892, 0.12>
}

#declare GWG_FrKarl_Block238to252_SouthernApartment_HallWall =
difference
{
   box
   {
     0, <0.11, 7.892, 2.37>
   }
   #declare a=0;
   #while (a<3)
     box
     {
       0, <0.12, 2.0751, 0.86>
       translate <-0.005, a * 2.688 - 0.1481, 1.47>
     }
     box
     {
       0, <0.12, 2.0751, 0.96>
       translate <-0.005, a * 2.688 - 0.1481, 0.035>
     }
     #declare a=a+1;
   #end
}

#declare GWG_FrKarl_Block238to252_SouthernApartment_KitchenRow_SideWall =
box
{
   0, <1.33, 7.892, 0.11>
}

#declare GWG_FrKarl_Block238to252_SouthernApartment_StorageRoom_SideWall =
box
{
   0, <0.31, 7.892, 0.115>
}

#declare GWG_FrKarl_Block238to252_SouthernApartment_StorageRoom_FrontWall =
difference
{
   box
   {
     0, <0.087, 7.892, 0.765>
   }
   #declare a=0;
   #while (a<3)
     box
     {
       0, <0.089, 2.0501, 0.52>
       translate <-0.001, a * 2.688 - 0.1481, 0.05>
     }
     #declare a=a+1;
   #end
}

#declare GWG_FrKarl_Block238to252_SouthernApartment_StorageRoom_Cutout =
box
{
   0, <0.124, 2.5399, 0.7649>
}

#declare GWG_FrKarl_Block238to252_SouthernApartment_BathroomWindow_Cutout =
box
{
   0, <0.38, 0.75, 0.72>
}

#declare GWG_FrKarl_Block238to252_ApartmentDoor_Cutout =
box
{
   0, <1.005, 2.106, 0.267>
}

#declare GWG_FrKarl_Block238to252_StairsHall_SideWall =
difference
{
   box
   {
     0, <4.98, 7.892, 0.265>
   }
   #declare a=0;
   #while (a<3)
     object
     {
       GWG_FrKarl_Block238to252_ApartmentDoor_Cutout
       translate <6.636, a * 2.688 - 0.149, -0.001>
     }
     #declare a=a+1;
   #end
}

// CAMERA SETTINGS
// using microlocal coordinates

#declare view=0;

#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+clock;
     #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
   #case (6) // oblique view from 30 metres above ground, looking west
     #declare dir = 270;
     #declare azi = -25;
     #declare camPos = <40, 30, 10>;
     #declare camLook = camPos + < sin(radians(dir))*cos(radians(azi)), 
sin(radians(azi)), cos(radians(dir))*cos(radians(azi))>;
     #declare camAng = 50;
   #break
   #case (7) // oblique (cutup) view from 18 metres above ground, my 
apartment only, looking west
     #declare dir = 270;
     #declare azi = -25;
     #declare camPos = <15, 18, 3>;
     #declare camLook = camPos + < sin(radians(dir))*cos(radians(azi)), 
sin(radians(azi)), cos(radians(dir))*cos(radians(azi))>;
     #declare camAng = 50;
   #break
   #case (8) // oblique (cutup) view from 18 metres above ground, my 
apartment only, looking north
     #declare dir = 0;
     #declare azi = -25;
     #declare camPos = <5, 18, -10>;
     #declare camLook = camPos + < sin(radians(dir))*cos(radians(azi)), 
sin(radians(azi)), cos(radians(dir))*cos(radians(azi))>;
     #declare camAng = 50;
   #break
   #case (9) // oblique (cutup) view from 18 metres above ground, my 
apartment only, looking north-east
     #declare dir = 45;
     #declare azi = -25;
     #declare camPos = <-5, 18, -5>;
     #declare camLook = camPos + < sin(radians(dir))*cos(radians(azi)), 
sin(radians(azi)), cos(radians(dir))*cos(radians(azi))>;
     #declare camAng = 50;
   #break
   #case (10) // view inside my main apartment room through hall door
     #declare dir = 70;
     #declare azi = -15;
     #declare camPos = <2.5, 
GWG_FrKarl_Block238to252_Front_Doorstep_Depth + 40 * 0.168 + 1.7, 3>;
     #declare camAng = 65;
     #declare camLook = camPos + < sin(radians(dir))*cos(radians(azi)), 
sin(radians(azi)), cos(radians(dir))*cos(radians(azi))>;
   #break
   #case (11) // view from my hall into staircase and northern apartment
     #declare dir = 0;
     #declare azi = -5;
     #declare camPos = <6.95, 
GWG_FrKarl_Block238to252_Front_Doorstep_Depth + 40 * 0.168 + 1.7, 4.2>;
     #declare camAng = 65;
     #declare camLook = camPos + < sin(radians(dir))*cos(radians(azi)), 
sin(radians(azi)), cos(radians(dir))*cos(radians(azi))>;
   #break
   #case (12) // inside my hall
     #declare dir = 330;
     #declare azi = -5;
     #declare camPos = <4.75, 
GWG_FrKarl_Block238to252_Front_Doorstep_Depth + 40 * 0.168 + 1.7, 3.5>;
     #declare camAng = 65;
     #declare camLook = camPos + < sin(radians(dir))*cos(radians(azi)), 
sin(radians(azi)), cos(radians(dir))*cos(radians(azi))>;
   #break
   #case (13) // view from my hall towards main room and balcony
     #declare dir = 260;
     #declare azi = -5;
     #declare camPos = <4.75, 
GWG_FrKarl_Block238to252_Front_Doorstep_Depth + 40 * 0.168 + 1.7, 3.5>;
     #declare camAng = 65;
     #declare camLook = camPos + < sin(radians(dir))*cos(radians(azi)), 
sin(radians(azi)), cos(radians(dir))*cos(radians(azi))>;
   #break
   #case (14) // view from my hall into bathroom
     #declare dir = 270;
     #declare azi = -5;
     #declare camPos = <4.75, 
GWG_FrKarl_Block238to252_Front_Doorstep_Depth + 40 * 0.168 + 1.7, 4.6>;
     #declare camAng = 65;
     #declare camLook = camPos + < sin(radians(dir))*cos(radians(azi)), 
sin(radians(azi)), cos(radians(dir))*cos(radians(azi))>;
   #break
#end

// ACTUAL SCENE

#declare detail=0;
#declare cutup=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_Outer }
         }
       }
     #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

#if (cutup)
   difference
   {
#end
     union
     {

#250 and #252
       {
         union
         {
           object
           {
             GWG_FrKarl_Block238to252_Raw
             texture { T_Concrete_Outer }
             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
                 texture { T_Concrete_Outer }
                 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
             texture { T_Concrete_Inner }
             scale 1/f
             translate <0.37, GWG_FrKarl_Block238to252_Floor_yOffset + a 
* GWG_FrKarl_Block238to252_Floor_Height, 0.37>/f
           }

           #declare a = a + 1;
         #end
         #declare a=0;
         #while (a<3)
           #declare b=0;
           #while (b<2)
             object
             {
               GWG_FrKarl_Block238to252_Balcony_Door_Cutout
               texture { T_Concrete_Inner }
               scale 1/f
               translate <-0.005,
		      GWG_FrKarl_Block238to252_Floor_yOffset + 0.00001 + a * 
GWG_FrKarl_Block238to252_Floor_Height,
                       1.84 + b * 
GWG_FrKarl_Block238to252_Balcony_Spacing>/f
             }
             object
             {
 
GWG_FrKarl_Block238to252_SouthernApartment_BathroomWindow_Cutout
               texture { T_Concrete_Inner }
               scale 1/f
               translate <-0.005,
                           GWG_FrKarl_Block238to252_Floor_yOffset + a * 
GWG_FrKarl_Block238to252_Floor_Height + 1.555,
                           4.585 + b*3.05>/f
             }

             #declare b = b + 1;
           #end
           #declare a = a + 1;
         #end
       }
       object
       {
         GWG_FrKarl_Block238to252_StairsHall_SideWall
         texture { T_Concrete_Inner }
         scale 1/f
         translate <0.37, 1.459, 5.555>/f
       }
       object
       {
         GWG_FrKarl_Block238to252_StairsHall_SideWall
         texture { T_Concrete_Inner }
         scale 1/f
         translate <0.37, 1.459, 8.03>/f
       }
       difference
       {
         object
         {
           GWG_FrKarl_Block238to252_MiddleApartment_InnerWall
           texture { T_Concrete_Inner }
           scale 1/f
           translate <5.215, 1.459, 0.37>/f
         }
         object
         {
           GWG_FrKarl_Block238to252_SouthernApartment_StorageRoom_Cutout
           texture { T_Concrete_Inner }
           scale 1/f
           translate <5.214, 1.459 + 32*0.168 - 0.1481, 3.18505>
         }
       }

       object
       {
         GWG_FrKarl_Block238to252_SouthernApartment_Bathroom_Wall
         texture { T_Concrete_Inner }
         scale 1/f
         translate <0.37, 1.459, 4.245>/f
       }
       object
       {
         GWG_FrKarl_Block238to252_SouthernApartment_InnerChimney
         texture { T_Concrete_Inner }
         scale 1/f
         translate <3.385, 1.459, 4.345>/f
       }
       object
       {
	GWG_FrKarl_Block238to252_SouthernApartment_BathroomDrainageBlock
         texture { T_Concrete_Inner }
         scale 1/f
         translate <1.19, 1.459, 4.305>/f
       }
       object
       {
         GWG_FrKarl_Block238to252_SouthernApartment_HallWall
         texture { T_Concrete_Inner }
         scale 1/f
         translate <3.885, 1.459, 3.185>/f
       }
       object
       {
         GWG_FrKarl_Block238to252_SouthernApartment_KitchenRow_SideWall
         texture { T_Concrete_Inner }
         scale 1/f
         translate <3.885, 1.459, 3.075>/f
       }
       object
       {
         GWG_FrKarl_Block238to252_SouthernApartment_StorageRoom_SideWall
         texture { T_Concrete_Inner }
         scale 1/f
         translate <4.905, 1.459, 3.95>/f
       }
       object
       {
	GWG_FrKarl_Block238to252_SouthernApartment_StorageRoom_FrontWall
         texture { T_Concrete_Inner }
         scale 1/f
         translate <4.905, 1.459, 3.185>/f
       }
       #if (!cutup)
         translate trans/f
       #end
     }
     #if (cutup)
       box {  <-0.001, 9.1, -0.001>, <11.081, 9.524, 53.491> texture { 
T_Concrete_Outer } }
       translate trans/f
     }
     #end

     #if (!balanced)
       light_source // shadowless fill light for apartment 2nd floor 
south in house #246
       {
         <3, 0.115 + 40 * 0.168 + 1.27>
         color rgb 0.3
         shadowless
       }
     #end


#242 and #244
     {
       union
       {
         object
         {
           GWG_FrKarl_Block238to252_Raw
           texture { T_Concrete_Outer }
           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
               texture { T_Concrete_Outer }
               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
           texture { T_Concrete_Inner }
           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
             texture { T_Concrete_Inner }
             scale 1/f
             translate <10.705,
		      GWG_FrKarl_Block238to252_Floor_yOffset + 0.00001 + a * 
GWG_FrKarl_Block238to252_Floor_Height,
                       1.84 + b * 
GWG_FrKarl_Block238to252_Balcony_Spacing>/f
	  }
           #declare b = b + 1;
         #end
         #declare a = a + 1;
       #end
       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_Outer }
     }
   }

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

   object
   {
     GWG_FrKarl_Block238to252238to252_Balcony_Raw
     texture { T_Concrete_Outer }
   }

   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 '.jpg' (16 KB)

Preview of image '.jpg'
.jpg


 

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