POV-Ray : Newsgroups : povray.unofficial.patches : Help me with megapov radiosity (Cornell box) Server Time
2 Sep 2024 06:19:29 EDT (-0400)
  Help me with megapov radiosity (Cornell box) (Message 1 to 10 of 13)  
Goto Latest 10 Messages Next 3 Messages >>>
From: Warp
Subject: Help me with megapov radiosity (Cornell box)
Date: 2 Jun 2000 11:19:42
Message: <3937d08c@news.povray.org>
I tried a bit different approach to the cornell box problem: I didn't use
any light source, just a bright box and let the radiosity do the rest.
  I got the illumination quite acceptable, but there are serious problems I
can't get rid of. You will immediately see them when you look at the
resulting image:

http://www.cs.tut.fi/~warp/cornell/cornell.jpg

  It uses quite extreme settings and the render time was about 48 minutes.

  I'm quite happy with the overall illumination (altough the contrast is
too high compared to the original) and color bleeding, but there are
horrible blotchy spots in the corners.
  I just can't get rid of them.
  If I specify lower quality radiosity settings I can get a very smooth
result, without those spots. However, then I don't get the darkening in the
corners either, which makes the resulting image quite different from the
original.
  If I specify higher quality settings, it doesn't get rid of the spots,
it just makes them more grainy.
  What a dilemma.

  Can anyone help me? What is the settings that can be modified to control
those artifacts?

  Another problem: Althoug the walls get darker in the corners, the ceiling
does not, for some reason. In the original image the walls and the ceiling
darken quite equally. What could be the problem?

  Here is the source code:

//     Persistence of Vision Ray Tracer Scene Description File
//     The true Cornell box...
//     PoV transcription by Stephane Marty (05/31/2000)
// "Warp" version...

#version unofficial MegaPov 0.5;

global_settings
{
  ambient_light 0.01
  ini_option "+QR"
  radiosity
  { pretrace_start 0.08
    pretrace_end   0.01
    count 1000
    nearest_count 10
    error_bound .5
    recursion_limit 4
    low_error_factor .5
    gray_threshold 0.2
    minimum_reuse 0.015
    brightness 1.3
    adc_bailout 0.01/1000
  }
}

camera
{ location  <27.8, 27.3,-80.0>
  direction <0, 0, 1>
  up        <0, 1, 0>
  right     <-1, 0, 0>
  angle 39.5
} 

/*
 * colors converted from spectral space.
 */
#declare white_cornell =
  texture
  { finish{ diffuse 1 }
    pigment { color rgb<0.740063*1.2,0.742313,0.733934*.7> }
  }

#declare green_cornell =
  texture
  { finish{ diffuse 1 }
    pigment { color rgb<0.162928,0.408903,0.0833759> }
  }

#declare red_cornell =
  texture
  { finish{ diffuse 1 }
    pigment { color rgb<0.366046,0.0371827,0.0416385>*1.5 }
  }

#declare light_color = color rgb<0.780131,0.780409,0.775833>;

mesh
{
/*
 * floor
 */
  triangle {
    <55.28, 0.0, 0.0>,
    <0.0, 0.0, 0.0>,
    <0.0, 0.0, 55.92>
  }
  triangle {
    <55.28, 0.0, 0.0>,
    <0.0, 0.0, 55.92>,
    <54.96, 0.0, 55.92>
  }
/*
 * ceiling
 */
  triangle {
    <55.60, 54.88, 0.0>,
    <55.60, 54.88, 55.92>,
    <0.0, 54.88, 55.92>
  }
  triangle {
    <55.60, 54.88, 0.0>,
    <0.0, 54.88, 55.92>,
    <0.0, 54.88, 0.0>
  }
/*
 * back wall
 */
  triangle {
    <0.0, 54.88, 55.92>,
    <55.60, 54.88, 55.92>,
    <54.96, 0.0, 55.92>
  }
  triangle {
    <0.0, 54.88, 55.92>,
    <54.96, 0.0, 55.92>,
    <0.0, 0.0, 55.92>
  }
  
  texture { white_cornell }
}

mesh
{
/*
 * right wall
 */
  triangle {
    <0.0, 54.88, 0.0>,
    <0.0, 54.88, 55.92>,
    <0.0, 0.0, 55.92>
  }
  triangle {
    <0.0, 54.88, 0.0>,
    <0.0, 0.0, 55.92>,
    <0.0, 0.0, 0.0>
  }
  
  texture { green_cornell }
}

mesh
{
/*
 * left wall
 */
  triangle {
    <55.28, 0.0, 0.0>,
    <54.96, 0.0, 55.92>,
    <55.60, 54.88, 55.92>
  }
  triangle {
    <55.28, 0.0, 0.0>,
    <55.60, 54.88, 55.92>,
    <55.60, 54.88, 0.0>
  }

  texture { red_cornell }  
}

mesh
{
/*
 * short block
 */
  triangle {
    <13.00, 16.50, 6.50>,
    <8.20, 16.50, 22.50>,
    <24.00, 16.50, 27.20>
  }
  triangle {
    <13.00, 16.50, 6.50>,
    <24.00, 16.50, 27.20>,
    <29.00, 16.50, 11.40>
  }

  triangle {
    <29.00, 0.0, 11.40>,
    <29.00, 16.50, 11.40>,
    <24.00, 16.50, 27.20>
  }
  triangle {
    <29.00, 0.0, 11.40>,
    <24.00, 16.50, 27.20>,
    <24.00, 0.0, 27.20>
  }

  triangle {
    <13.00, 0.0, 6.50>,
    <13.00, 16.50, 6.50>,
    <29.00, 16.50, 11.40>
  }
  triangle {
    <13.00, 0.0, 6.50>,
    <29.00, 16.50, 11.40>,
    <29.00, 0.0, 11.40>
  }

  triangle {
    <8.20, 0.0, 22.50>,
    <8.20, 16.50, 22.50>,
    <13.00, 16.50, 6.50>
  }
  triangle {
    <8.20, 0.0, 22.50>,
    <13.00, 16.50, 6.50>,
    <13.00, 0.0, 6.50>
  }

  triangle {
    <24.00, 0.0, 27.20>,
    <24.00, 16.50, 27.20>,
    <8.20, 16.50, 22.50>
  }
  triangle {
    <24.00, 0.0, 27.20>,
    <8.20, 16.50, 22.50>,
    <8.20, 0.0, 22.50>
  }

  texture { white_cornell }
}

mesh
{
/*
 * tall block
 */
  triangle {
    <42.30, 33.00, 24.70>,
    <26.50, 33.00, 29.60>,
    <31.40, 33.00, 45.60>
  }
  triangle {
    <42.30, 33.00, 24.70>,
    <31.40, 33.00, 45.60>,
    <47.20 33.00 40.60>
  }

  triangle {
    <42.30, 0.0, 24.70>,
    <42.30, 33.00, 24.70>,
    <47.20, 33.00, 40.60>
  }
  triangle {
    <42.30, 0.0, 24.70>,
    <47.20, 33.00, 40.60>,
    <47.20, 0.0, 40.60>
  }

  triangle {
    <47.20, 0.0, 40.60>,
    <47.20, 33.00, 40.60>,
    <31.40, 33.00, 45.60>
  }
  triangle {
    <47.20, 0.0, 40.60>,
    <31.40, 33.00, 45.60>,
    <31.40, 0.0 45.60>
  }

  triangle {
    <31.40, 0.0, 45.60>,
    <31.40, 33.00, 45.60>,
    <26.50, 33.00, 29.60>
  }
  triangle {
    <31.40, 0.0, 45.60>,
    <26.50, 33.00, 29.60>,
    <26.50, 0.0, 29.60>
  }

  triangle {
    <26.50, 0.0, 29.60>,
    <26.50, 33.00, 29.60>,
    <42.30, 33.00, 24.70>
  }
  triangle {
    <26.50, 0.0, 29.60>,
    <42.30, 33.00, 24.70>,
    <42.30, 0.0, 24.70>
  }
  
  texture { white_cornell }
}

// Light
box
{ <21.3,54.87,33.2><34.3,54.88,22.7> no_shadow
  pigment { light_color } finish { ambient light_color*10000 diffuse 1 }
}


-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Kari Kivisalo
Subject: Re: Help me with megapov radiosity (Cornell box)
Date: 2 Jun 2000 11:26:46
Message: <3937D298.3DFF5D24@kivisalo.net>
> horrible blotchy spots in the corners.

Maybe increase nearest_count?

-----------------------------------------------------------------------
Kari Kivisalo                                          www.kivisalo.net


Post a reply to this message

From: Warp
Subject: Re: Help me with megapov radiosity (Cornell box)
Date: 2 Jun 2000 11:59:59
Message: <3937d9ff@news.povray.org>
Kari Kivisalo <kar### [at] kivisalonet> wrote:
: Maybe increase nearest_count?

  In the official povray the maximum value for nearest_count is 10. I have
used 10 in my image. Can it be bigger in megapov?

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Kari Kivisalo
Subject: Re: Help me with megapov radiosity (Cornell box)
Date: 2 Jun 2000 12:01:26
Message: <3937DAB8.73F4087B@kivisalo.net>
Warp wrote:
>   In the official povray the maximum value for nearest_count is 10. I have
> used 10 in my image. Can it be bigger in megapov?

I used 12 but didn't check warnings.

-----------------------------------------------------------------------
Kari Kivisalo                                          www.kivisalo.net


Post a reply to this message

From: Warp
Subject: Re: Help me with megapov radiosity (Cornell box)
Date: 2 Jun 2000 12:12:53
Message: <3937dd04@news.povray.org>
Kari Kivisalo <kar### [at] kivisalonet> wrote:
: I used 12 but didn't check warnings.

  At the beginning of radiosit.h there's this line:

#define MAX_NEAREST_COUNT 20

  I think it means that I'll try with nearest_count 20. Will post again when
the render is finished...

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Nathan Kopp
Subject: Re: Help me with megapov radiosity (Cornell box)
Date: 2 Jun 2000 12:49:25
Message: <3937e595@news.povray.org>
Warp <war### [at] tagpovrayorg> wrote...
>   I'm quite happy with the overall illumination (altough the contrast is
> too high compared to the original) and color bleeding, but there are
> horrible blotchy spots in the corners.
>   I just can't get rid of them.

I'm pretty sure there's a bug in there somewhere (still remaining from the
official version), but I haven't been able to find it.  :-(

-Nathan


Post a reply to this message

From: Warp
Subject: Re: Help me with megapov radiosity (Cornell box)
Date: 2 Jun 2000 13:16:16
Message: <3937ebe0@news.povray.org>
Btw. Since the radiosity values cited in the megapov documentation work
quite well with most scenes and usually one have to modify a couple of them
for specific scenes, wouldn't it be a good idea to make those values the
default values when they are not specified? Or are they already?
  It would be a lot easier to just write something like:

radiosity
{ count 100
}

instead of that gigantic block :)

  If some default value is not good for a specific scene, then one can just
specify a better value in the radiosity block when needed.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: Help me with megapov radiosity (Cornell box)
Date: 2 Jun 2000 13:47:31
Message: <3937f333$1@news.povray.org>
In article <3937d08c@news.povray.org> , Warp <war### [at] tagpovrayorg>  wrote:

>  You will immediately see them when you look at the
> resulting image:

Looks like you need more practice putting up wallpaper properly ;-)


       Thorsten


Post a reply to this message

From: Nathan Kopp
Subject: Re: Help me with megapov radiosity (Cornell box)
Date: 2 Jun 2000 14:34:07
Message: <3937fe1f$1@news.povray.org>
Warp <war### [at] tagpovrayorg> wrote...
>   Btw. Since the radiosity values cited in the megapov documentation work
> quite well with most scenes and usually one have to modify a couple of
them
> for specific scenes, wouldn't it be a good idea to make those values the
> default values when they are not specified? Or are they already?
>   It would be a lot easier to just write something like:
>
> radiosity
> { count 100
> }
>

That is the way it works now.  (But the defaults are currently the
low-quality settings, not the high-quality ones.)

-Nathan


Post a reply to this message

From: ryan constantine
Subject: Re: Help me with megapov radiosity (Cornell box)
Date: 2 Jun 2000 14:44:50
Message: <39380192.602F607B@yahoo.com>
you can always add any blocks you use regularly to the 'insert' menu of
pov.  that's one way to avoid typing.

Warp wrote:
> 
>   Btw. Since the radiosity values cited in the megapov documentation work
> quite well with most scenes and usually one have to modify a couple of them
> for specific scenes, wouldn't it be a good idea to make those values the
> default values when they are not specified? Or are they already?
>   It would be a lot easier to just write something like:
> 
> radiosity
> { count 100
> }
> 
> instead of that gigantic block :)
> 
>   If some default value is not good for a specific scene, then one can just
> specify a better value in the radiosity block when needed.
> 
> --
> main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
> ):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

Goto Latest 10 Messages Next 3 Messages >>>

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