POV-Ray : Newsgroups : povray.binaries.images : PoVEarth, day #9 Server Time
1 Aug 2024 16:24:12 EDT (-0400)
  PoVEarth, day #9 (Message 1 to 10 of 12)  
Goto Latest 10 Messages Next 2 Messages >>>
From: Jörg 'Yadgar' Bleimann
Subject: PoVEarth, day #9
Date: 3 Sep 2008 13:42:32
Message: <48becc88@news.povray.org>
High!

Today I found some time to continue with my apartment... after 
implementing Reactor's suggestions (using different diffuse values for 
inside and outside finishes and increasing radiosity brightness) and 
also setting global ambient to 0.35, I managed to get a crudely 
believable level of inside illumination.

But there are still some problems to fix: as you might notice in take 35 
and 36, the radiosity illumination of the very same surface obviously 
depends strongly on the camera position - the bathroom walls are much 
darker if I look straight to the door! Is there any chance to avoid such 
dependencies?

See you in Khyberspace!

Yadgar


Post a reply to this message


Attachments:
Download '.jpg' (29 KB) Download '.jpg' (8 KB) Download '.jpg' (18 KB) Download '.jpg' (14 KB) Download '.jpg' (16 KB) Download '.jpg' (15 KB)

Preview of image '.jpg'
.jpg

Preview of image '.jpg'
.jpg

Preview of image '.jpg'
.jpg

Preview of image '.jpg'
.jpg

Preview of image '.jpg'
.jpg

Preview of image '.jpg'
.jpg


 

From: Zeger Knaepen
Subject: Re: PoVEarth, day #9
Date: 3 Sep 2008 14:40:11
Message: <48beda0b$1@news.povray.org>

news:48becc88@news.povray.org...
> High!
>
> Today I found some time to continue with my apartment... after
> implementing Reactor's suggestions (using different diffuse values for
> inside and outside finishes and increasing radiosity brightness) and
> also setting global ambient to 0.35, I managed to get a crudely
> believable level of inside illumination.
>
> But there are still some problems to fix: as you might notice in take 35
> and 36, the radiosity illumination of the very same surface obviously
> depends strongly on the camera position - the bathroom walls are much
> darker if I look straight to the door! Is there any chance to avoid such
> dependencies?
>
> See you in Khyberspace!
>
> Yadgar

It looks like your textures have an ambient-setting >0
I can see no reason to set global ambient to 0.35, just add a #default 
{finish {ambient 0}} at the top of the file.  This will leave the textures 
that have an explicit ambient-setting intact, and lower the ambient of the 
other textures to 0, giving you much better results.

cu!
-- 
#macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
#end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
_(0x+y.5+y/2x)_(0x-y.5+y/2x)            // ZK http://www.povplace.com


Post a reply to this message

From: Reactor
Subject: Re: PoVEarth, day #9
Date: 3 Sep 2008 15:30:00
Message: <web.48bee4a43f41c8c03433a17c0@news.povray.org>
=?ISO-8859-15?Q?J=F6rg_=27Yadgar=27_Bleimann?= <yaz### [at] gmxde> wrote:
> High!
>
> Today I found some time to continue with my apartment... after
> implementing Reactor's suggestions (using different diffuse values for
> inside and outside finishes and increasing radiosity brightness) and
> also setting global ambient to 0.35, I managed to get a crudely
> believable level of inside illumination.
>
> But there are still some problems to fix: as you might notice in take 35
> and 36, the radiosity illumination of the very same surface obviously
> depends strongly on the camera position - the bathroom walls are much
> darker if I look straight to the door! Is there any chance to avoid such
> dependencies?
>
> See you in Khyberspace!
>
> Yadgar


Actually, I strongly recommend against using ambient for this.  The surfaces
should have an ambient of 0 and rely only on diffuse lighting for illumination.
 The only time ambient should be used with radiosity is when you want an object
to emit light.

I could not tell the differences between the images you posted, but there are
some radiosity artifacts I can see.  The strange lightness in the interior
corners is from the ambient light.  Can you post the related code?


-Reactor


Post a reply to this message

From: Jörg 'Yadgar' Bleimann
Subject: Re: PoVEarth, day #9
Date: 3 Sep 2008 17:40:02
Message: <48bf0432@news.povray.org>
High!

Zeger Knaepen schrieb:

> It looks like your textures have an ambient-setting >0
> I can see no reason to set global ambient to 0.35, just add a #default 
> {finish {ambient 0}} at the top of the file.  This will leave the textures 
> that have an explicit ambient-setting intact, and lower the ambient of the 
> other textures to 0, giving you much better results.

I doubt that (see below)... I tried it out, and now, the interior are 
significantly darker than before - and increasing the radiosity 
brightess (currently at 3) would be no alternative, as already at 
brightness=4 all outer walls "drown" in shadowless white!

ambient_light 0.35 still looks better...

See you in Khyberspace!

Yadgar


Post a reply to this message


Attachments:
Download '.jpg' (18 KB)

Preview of image '.jpg'
.jpg


 

From: Jörg 'Yadgar' Bleimann
Subject: Re: PoVEarth, day #9
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


 

From: Zeger Knaepen
Subject: Re: PoVEarth, day #9
Date: 3 Sep 2008 20:34:21
Message: <48bf2d0d$1@news.povray.org>

news:48bf0432@news.povray.org...
> High!
>
> Zeger Knaepen schrieb:
>
>> It looks like your textures have an ambient-setting >0
>> I can see no reason to set global ambient to 0.35, just add a #default
>> {finish {ambient 0}} at the top of the file.  This will leave the 
>> textures
>> that have an explicit ambient-setting intact, and lower the ambient of 
>> the
>> other textures to 0, giving you much better results.
>
> I doubt that (see below)... I tried it out, and now, the interior are
> significantly darker than before - and increasing the radiosity
> brightess (currently at 3) would be no alternative, as already at
> brightness=4 all outer walls "drown" in shadowless white!
>
> ambient_light 0.35 still looks better...

this image looks a whole lot better already.  Just use higher quality 
radiosity, and you're there

cu!
-- 
#macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
#end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
_(0x+y.5+y/2x)_(0x-y.5+y/2x)            // ZK http://www.povplace.com


Post a reply to this message

From: Reactor
Subject: Re: PoVEarth, day #9
Date: 3 Sep 2008 23:30:01
Message: <web.48bf55c93f41c8c05f180b2a0@news.povray.org>
=?ISO-8859-1?Q?J=F6rg_=27Yadgar=27_Bleimann?= <yaz### [at] gmxde> wrote:
> High!
>
> Here it is:
>
> // My Place in the World
> // A sub-sub-subsection of the PoVEarth project

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


Texture changes:

/*  old declaration
#declare T_Concrete_Inner =
texture
{
    pigment { P_Concrete }
    finish { F_Standard_Outer }
}
*/

// should be replaced with:
#declare T_Concrete_Inner =
texture
{
    pigment { P_Concrete }
    finish { F_Standard_Inner }
}


I am still adjusting other settings, but the first change I made was above, with
the inner and outer diffuse settings.  T_Concrete_Inner is using the finish
F_Standard_Outer, and it should be using F_Standard_Inner.
Next:


#if (balanced=1)
   #declare radbri=1.125; /* 1.125 or so for outdoors, raise to 2.0 for indoor
views*/
   #declare outerDiff = 0.25;
   #declare outerAmbi = 0.15;
   #declare innerDiff = 1.00;
   #declare innerAmbi = 0.00;
#else
   #declare radbri=1;
   #declare outerDiff = 1.00;
   #declare innerDiff = 1.00;
   #declare outerAmbi = 0.00;
   #declare innerAmbi = 0.00;
#end
..
..
..
// FINISHES

#declare F_Standard_Outer =
finish
{
   diffuse outerDiff
   ambient outerAmbi // new variable, declared above
   brilliance 0.15
}

#declare F_Standard_Inner =
finish
{
   diffuse innerDiff
   ambient innerAmbi
   brilliance 0.15

}


  I added additional variables for controlling the ambient settings
individually.  I do not recommend the use of ambient light for the indoor
portions, but it can be used to help alter the contrast of the outdoor shadows.
I also dropped the radiosity brightness to the 1.0 to 1.25 range, observing good
results around 1.125 for outside views.  This can be raised or lowered depending
on how much you want the user to be able to see inside.


After changing that, I raised the brightness of the light_source to match.
Assuming a desired intensity of 1.0 * the color declared in the pigment
statement, with a diffuse of 0.25, the light source brightness should be 4.0
(since 4.0 * 0.25 = 1).

     #if (models[3])
       light_source
       {
         <0, 500, -1000>
         color rgb 4 // raised from 1.0
       }

    #end


The radiosity block needs a great deal of adjustment.  An error_bound of 1.8 is
too high for the size of the shadows for what I've seen at view 0, it should
probably be in the 0.25 to 0.75 range with a count raised to match.  I would
also boost the number of bounces to 4 or 5, possibly more for the indoor scenes
and depend on adc bailout (it rarely continues beyond 4 bounces).

Note that the radiosity adjustments will significantly alter the brightness of
some parts!  This is especially true for an error_bound that is too large.

Right now I am rendering view 13 with higher quality radiosity settings and the
changes to the finishes and light_sources mentioned above.  I expect it to take
> 30 minutes, and it is still going to be slightly lower quality (needs to have
a higher count for the error_bound values I am using), but it should be
sufficient to demonstrate the type and degree of brightness changes that will
be available to you by altering the indoor and outdoor diffuse values
seperately.

This is the radiosity block I am using:

  radiosity{
    pretrace_start 100/image_width  // start pretrace at this size
    pretrace_end     1/image_width  // end pretrace at this size
//    adaptive 1 // can only be used under MegaPov 1.2.1
    count 100                       // higher -> higher quality (1..1600) [35]
    nearest_count 20                // higher -> higher quality (1..10) [5]
    error_bound 0.25               // higher -> smoother, less accurate [1.8]
    recursion_limit 5               // how much interreflections are calculated
(1..5+) [3]
    low_error_factor .5             // reduce error_bound during last pretrace
step
    gray_threshold 0.80             // increase for weakening colors (0..1) [0]
    minimum_reuse 0.0015            // reuse of old radiosity samples [0.015]
    brightness radbri               // brightness of radiosity effects (0..1)
[1]
    adc_bailout 0.01
    always_sample off               // turn sampling in final trace off [on]
  }


-Reactor


Post a reply to this message

From: Reactor
Subject: Re: PoVEarth, day #9
Date: 4 Sep 2008 02:30:01
Message: <web.48bf7f8a3f41c8c05f180b2a0@news.povray.org>
Rendered view 13, command line: +w1024 +h768 +a0.2 +am2 +r4
Took approx 25 minutes on a P4 3.0GHz
Radiosity settings as below, other settings were the changes I recommended in
the previous post.

#declare radbri = 1.50;

radiosity{
    pretrace_start 100/image_width  // start pretrace at this size
    pretrace_end     1/image_width  // end pretrace at this size
    //adaptive 1                   // MegaPov 1.2.1 only
    count 100                      // higher -> higher quality (1..1600) [35]
    nearest_count 20               // higher -> higher quality (1..10) [5]
    error_bound 0.5                // higher -> smoother, less accurate [1.8]
    recursion_limit 5              // how much interreflections are calculated
    low_error_factor .25           // reduce error_bound during last pretrace
step
    gray_threshold 0.80            // increase for weakening colors (0..1) [0]
    minimum_reuse 0.0015           // reuse of old radiosity samples [0.015]
    brightness radbri              // brightness of radiosity effects (0..1) [1]
    adc_bailout 0.01
    //save_file "povworld.rad"
    always_sample off             // turn sampling in final trace off [on]
  }



Note that there are artifacts in the corners that can be corrected by boosting
count, but I didn't want to wait for it.  Perhaps MegaPov's adaptive error
bound could help here also, but I've never had much luck with it.  I am still
experimenting with view 0, but I expect the settings to be similar.  The main
difficulty that I am encountering is that some of the windowsills that have the
interior diffuse settings receive direct light, and as a result are brighter
than they should be.

-Reactor


Post a reply to this message


Attachments:
Download 'povworld_radb1.50.png' (90 KB)

Preview of image 'povworld_radb1.50.png'
povworld_radb1.50.png


 

From: scott
Subject: Re: PoVEarth, day #9
Date: 4 Sep 2008 09:03:23
Message: <48bfdc9b$1@news.povray.org>
> But there are still some problems to fix: as you might notice in take 35
> and 36, the radiosity illumination of the very same surface obviously
> depends strongly on the camera position - the bathroom walls are much
> darker if I look straight to the door! Is there any chance to avoid such
> dependencies?

Maybe take a look at the MCPov patch.  I have had some really good results 
from MCPov with scenes that have been a pain to get radiosity working well. 
The render times are usually a lot longer with MCPov to get a smooth image, 
but if you factor in the time spent fiddling with radiosity and scene 
settings it can actually be faster.


Post a reply to this message

From: Reactor
Subject: Re: PoVEarth, day #9
Date: 4 Sep 2008 11:35:02
Message: <web.48bfff6e3f41c8c097ce1dd00@news.povray.org>
Rendered view 13, command line: +w1024 +h768 +a0.2 +am2 +r4
Took approx 33 minutes on a P4 3.0GHz
Radiosity settings as below, also changed llight_source back to 1.0 for this
view (down from 4.0 in the indoor veiw).

   #declare radbri=1.375;
   #declare outerDiff = 0.75;
   #declare outerAmbi = 0.00;
   #declare innerDiff = 1.00;
   #declare innerAmbi = 0.00;

radiosity{
    pretrace_start 100/image_width
    pretrace_end     1/image_width
//    adaptive 1
    count 200
    nearest_count 20
    error_bound 0.25
    recursion_limit 5
    low_error_factor .25
    gray_threshold 0.80
    minimum_reuse 0.0015
    brightness radbri
    adc_bailout 0.01
    save_file "povworld_v0_unbal.rad"
    always_sample off
}


-Reactor


Post a reply to this message


Attachments:
Download 'povworld_rad_unbal.png' (121 KB)

Preview of image 'povworld_rad_unbal.png'
povworld_rad_unbal.png


 

Goto Latest 10 Messages Next 2 Messages >>>

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