POV-Ray : Newsgroups : povray.binaries.images : PoVEarth, day #6 - first obstacle! Server Time
1 Aug 2024 16:30:06 EDT (-0400)
  PoVEarth, day #6 - first obstacle! (Message 4 to 13 of 13)  
<<< Previous 3 Messages Goto Initial 10 Messages
From: none
Subject: Re: PoVEarth, day #6 - first obstacle!
Date: 24 Jul 2008 04:38:36
Message: <48883f8c$1@news.povray.org>
scott skrev:
>> But obviously PoV-Ray does not take this into account when rendering
>> such indoor scenes... or is there a way to calibrate PoV-Ray's lighting
>> system to match the human perception more closely?
> 
> You don't want to do that, because when your eye looks at the
> monitor/print out obviously it will do it's logarithmic processing
> again, so you'll get it twice and it will look weird.  Try taking a
> photo of the view you want with the exposure you want, and getting your
> POV generated image to match.

No, there is a difference between looking at a scene like that in real
life, where the outdoor brightness is very high, and looking at a photo
of the same scene. The brightness of the brightest parts of the photo
depend on the light source illuminating the photo, in the same way that
looking at a photo of the sun is not as dangerous as looking into the sun.

/martin


Post a reply to this message

From: scott
Subject: Re: PoVEarth, day #6 - first obstacle!
Date: 24 Jul 2008 08:02:06
Message: <48886f3e$1@news.povray.org>
>> You don't want to do that, because when your eye looks at the
>> monitor/print out obviously it will do it's logarithmic processing
>> again, so you'll get it twice and it will look weird.  Try taking a
>> photo of the view you want with the exposure you want, and getting your
>> POV generated image to match.
>
> No, there is a difference between looking at a scene like that in real
> life, where the outdoor brightness is very high, and looking at a photo
> of the same scene. The brightness of the brightest parts of the photo
> depend on the light source illuminating the photo, in the same way that
> looking at a photo of the sun is not as dangerous as looking into the sun.

Well of course a photo is limited to reflecting 100% of the incident light, 
and a monitor to its maximum brightness, but that wasn't my point.  My point 
was that you shouldn't take into account the eyes processing in your image, 
because then it's not going to look realistic.  You should aim to create an 
image where the relative brightnesses match what is in real life.  You don't 
need to worry about how your eye works, just match real life and it will 
look realistic.

Comparing your rendering with a digital photo is a good way to do this, as 
most people don't have access to expensive brightness measurement equipment. 
It also means you don't have to worry about gamma of your display device, 
just match your output pixel values to the values in the photo.


Post a reply to this message

From: stm31415
Subject: Re: PoVEarth, day #6 - first obstacle!
Date: 25 Jul 2008 09:55:01
Message: <web.4889daec51b8f74a96a40f470@news.povray.org>
>
> Well of course a photo is limited to reflecting 100% of the incident light,
> and a monitor to its maximum brightness, but that wasn't my point.  My point
> was that you shouldn't take into account the eyes processing in your image,
> because then it's not going to look realistic.  You should aim to create an
> image where the relative brightnesses match what is in real life.  You don't
> need to worry about how your eye works, just match real life and it will
> look realistic.
>


You've confused realistic with photo-realistic. If you match a photo it will
look like a photo --- and photos have all the same problems he's listing. Take
a picture of a window on a sunny day, and the window sill, the wall around it,
and anything else will be very dark --- or else everything outside the window
will be over exposed. Real life doesn't have those problems because our eyes
are amazing.

A rendering with logartithmic light recording wouldn't look like a normal photo
--- it would look like a tone-mapped HDR image:
http://en.wikipedia.org/wiki/Tone_mapping . And for preserving detail the way a
memory does, it will be more effective.

The fast solution would be to use megapov to render to HDR and then use 3rd
party tone-mapping software.

-S


Post a reply to this message

From: Jörg 'Yadgar' Bleimann
Subject: Re: PoVEarth, day #6 - first obstacle!
Date: 26 Jul 2008 12:56:06
Message: <488b5726$1@news.povray.org>
High!

(sorry for the three-day delay, but meanwhile, my primary master 
harddisk crashed and I still have a pretty hard time to get the system 
working again... this posting is sent to you using a provisional 
installation running from a Sidux livedisk - Linux rules!)

scott schrieb:
> You don't want to do that, because when your eye looks at the 
> monitor/print out obviously it will do it's logarithmic processing 
> again, so you'll get it twice and it will look weird.  Try taking a 
> photo of the view you want with the exposure you want, and getting your 
> POV generated image to match.

Unfortunately, I don't (yet) own such a sophisticated camera... sounds 
strange from such an avid PoVghan, doesn't it? You know you've been 
raytracing for too long... when you never own less then five digital and 
chemical cameras just to get real-world lighting and radiosity levels right!

> IME the most important thing is to get the ratio between sun brightness 
> and sky brightness correct.  

Then probably my sun is too bright (and after dimming it down, the whole 
image has to be post-processed)...

See you in Khyberspace!

Yadgar


Post a reply to this message

From: scott
Subject: Re: PoVEarth, day #6 - first obstacle!
Date: 31 Jul 2008 04:46:25
Message: <48917be1@news.povray.org>
> A rendering with logartithmic light recording wouldn't look like a normal 
> photo
> --- it would look like a tone-mapped HDR image:
> http://en.wikipedia.org/wiki/Tone_mapping . And for preserving detail the 
> way a
> memory does, it will be more effective.

Maybe so, but to me those tone-mapped images look far less like real life 
than a normal photo does.


Post a reply to this message

From: Jörg 'Yadgar' Bleimann
Subject: Re: PoVEarth, day #6 - first obstacle!
Date: 31 Jul 2008 14:19:27
Message: <4892022f@news.povray.org>
High!

Blue Herring schrieb:

> It depends on what settings you are already using, but have you tried 
> increasing the recursion_limit so the light will bounce around in the 
> rooms more and light up th walls?

Yes, meanwhile (after re-programming the whole scene, which was also 
lost in the harddisk crash last week) I increased recursion_limit up to 
20, but that won't either do the trick - see attached image!

See you in Khyberspace!

Yadgar


Post a reply to this message


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

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


 

From: Reactor
Subject: Re: PoVEarth, day #6 - first obstacle!
Date: 31 Jul 2008 15:15:00
Message: <web.48920e9d51b8f74a6ab758af0@news.povray.org>
=?ISO-8859-15?Q?J=F6rg_=27Yadgar=27_Bleimann?= <yaz### [at] gmxde> wrote:
> High!
>
> Blue Herring schrieb:
>
> > It depends on what settings you are already using, but have you tried
> > increasing the recursion_limit so the light will bounce around in the
> > rooms more and light up th walls?
>
> Yes, meanwhile (after re-programming the whole scene, which was also
> lost in the harddisk crash last week) I increased recursion_limit up to
> 20, but that won't either do the trick - see attached image!
>
> See you in Khyberspace!
>
> Yadgar


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.




-Reactor


Post a reply to this message

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 3 Messages Goto Initial 10 Messages

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