POV-Ray : Newsgroups : povray.unofficial.patches : Re: Stochastic Radiosity Patch for PoV 3.1g : Re: Stochastic Radiosity Patch for PoV 3.1g Server Time
2 Sep 2024 04:14:49 EDT (-0400)
  Re: Stochastic Radiosity Patch for PoV 3.1g  
From: Stephane Marty
Date: 28 May 2000 09:19:54
Message: <39311C34.3176@wanadoo.fr>
OK, I tried this :
I changed warp's previous code to add light fading in the light_source
block.
So, that gives :

#version Unofficial MegaPov 0.5;

global_settings
{ ini_option "+QR"
  ambient_light .01
  radiosity
  { pretrace_start 0.08
    pretrace_end   0.02
    count 80
    nearest_count 5
    error_bound 1
    recursion_limit 4
    low_error_factor .5
    gray_threshold 0.0
    minimum_reuse 0.015
    brightness 1.7
    adc_bailout 0.01/2
  }
}

camera { location -z*11.9 look_at 0 angle 60 }

light_source
{ 0, 1*10
  fade_power 1
  fade_distance .21

  looks_like
  { box { <-1,0,-1><1,.4,1> pigment { rgb 1 } finish { ambient
.25*4*1000 } }
  }
  translate y*3.6
}

#macro Wall(Color1, Color2)
  box
  { <-4,-4,0><4,4,.1>
    pigment
    { boxed color_map
      { [0 Color1][.1 Color1][.1 Color2][.2 Color2][.2 Color1][1 Color1]
      }
      translate <1,1,0>
      warp { repeat x*2 }
      warp { repeat y*2 }
    }
  }
#end

object { Wall(rgb 1, rgb .8) translate z*4 }
object { Wall(rgb 1, rgb .8) rotate y*180 translate -z*12 }
object { Wall(rgb x, rgb x*.8) rotate -y*90 translate -x*4 }
object { Wall(rgb x, rgb x*.8) rotate -y*90 translate -x*4-z*8 }
object { Wall(rgb z, rgb <.3,.3,.8>) rotate y*90 translate x*4 }
object { Wall(rgb z, rgb <.3,.3,.8>) rotate y*90 translate x*4-z*8 }
object { Wall(rgb x+y, rgb (x+y)*.8) rotate -x*90 translate y*4 }
object { Wall(rgb x+y, rgb (x+y)*.8) rotate -x*90 translate y*4-z*8 }
box { <-4,-4,-12><4,-4.1,4> pigment { checker rgb 1, rgb .2 scale .5 } }

box { -1,1 pigment { rgb x+y } rotate y*30 translate <-1.5,-3,-1> }
sphere { <-1.8,-.5,0>, .9 pigment { rgb 1 } finish { specular .3 } }
cylinder
{ 0, y, 1 pigment { rgb <1,.8,.6> }
  rotate z*70 rotate y*-20 translate <2.5,-2.5,-1>
}

union
{ torus
  { 1.2, .5
    pigment { rgbf <1,1,1,.95> }
    finish { specular .5 roughness .02 reflection .2 }
    interior { ior 1.5 }
  }
  cone
  { 0, .7, y*2.5, 0 pigment { rgb y+z } finish { specular .2 }
  }
  rotate z*65 rotate y*-40 translate <1,-1,2>
}


You can see the resulting image rendered with MegaPoV 0.5 here :
http://perso.wanadoo.fr/albedo/warp_pov.jpg

Then, I replaced the global_settings block by :

global_settings
{
  ambient 1/1000
  stochastic_global_illumination { samples 300 brightness 0.55 }
}

The rest is unchanged. I implemented my patch in my MegaPoV 0.5 release.
You can see the resulting image rendered with it here :
http://perso.wanadoo.fr/albedo/warp_sgi.jpg

Don't you think there's a bit difference of realism, especially for the
yellow box ?
Try to look at these images successively. It seems to me that the
original radiosity rendering is a bit tasteless compared to my
stochastic radiosity function.
However, the first rendering was twice as fast as the second. But I
don't really know if there's a way to parameter the radiosity { ... }
block to obtain the same results we have easily with the
stochastic_global_illumination function. The main reason is maybe
because algorithms are differents.
What do you think ?

Stephane Marty
- - - - - - - -
Computer Graphics Software
http://perso.wanadoo.fr/albedo


Post a reply to this message

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