POV-Ray : Newsgroups : povray.beta-test : weird white stain with beta povray v3.8.0 (not with povray v3.7.0) : Re: weird white stain with beta povray v3.8.0 (not with povray v3.7.0) Server Time
19 Apr 2024 13:28:33 EDT (-0400)
  Re: weird white stain with beta povray v3.8.0 (not with povray v3.7.0)  
From: Kenneth
Date: 20 Jan 2022 08:25:00
Message: <web.61e96191c82cc78e4cef624e6e066e29@news.povray.org>
I decided to go through all of the scene's include files-- turning off all of
the light sources, correcting any out-of-gamut srgb colors to 1.0 max, and
eliminating every object except the pentagram and the ground.

And I was still seeing the bright radiosity patches :-(

So I made my own VERY simplified scene-- posted below-- using just the bare
necessities of Warren's code plus a few simplifications... and finally
discovered what I think are the root causes of those bright patches. There are
THREE reasons, as far as I can tell:

1) The sky-sphere object is the primary cause. Comment-out that sphere, and the
problem patches disappear.

2) Radiosity's 'media ON' switch is also a primary problem; turn that OFF and
the patches disappear.

3) The media-pentagram is, I think, halfway embedded in the ground; that seems
to definitely be adding to the problem, for some reason. Move it even slightly
upward (like William P. mentioned), and the number of bright patches greatly
decreases. Not completely, though, as 1) and 2) still produce some patches at
random.

I don't know what is going on with rad's 'media on' switch; but the sky-sphere
problem does not make any sense to me, as its colors are only 0.3 maximum...
certainly not 'super bright'.

Maybe others here have some additional clues?

---------
// 1/19/22-- reduced version of Warren's 'HallowHouseScene' code,
// by Ken Walker

#version 3.7;

#declare RAD_ON = true;
#declare P_start = 64 / image_width;
#declare P_end_final = 4 / image_width;
#declare GroundScale = < 80, 1, 160 >;

global_settings{
assumed_gamma 1.0

#if(RAD_ON)
radiosity{ // mostly Warren's settings
pretrace_start P_start
pretrace_end   P_end_final
error_bound 0.2
minimum_reuse 0.09 // Ken
maximum_reuse 0.091 // Ken
nearest_count 9
count 800
recursion_limit 1
always_sample off
gray_threshold 0.6
brightness 1
adc_bailout 0.01/2
normal on
media on // [If OFF, that ELIMINATES the super-bright radiosity patches.]
         }
#end
}

camera{
 location<-24,6,-24>
 look_at <6, 5, 0>
}


background{color srgb 0.05}

// This light is NOT the cause of the bright radiosity patches.
light_source{<-2,4,-3 >*1000000 color srgb <0.5,0.5,0.6>*0.75 }


#declare SkyPigment =
pigment{
    gradient y
    color_map{
        [0.0 color srgb 0]
        [0.75 color srgb <0.075, 0.075, 0.15>]
             }
}

// ---- THIS SPHERE IS THE MAIN CAUSE OF THE SUPER-WHITE RAD PATCHES (along
// with 'media on' in the rad block) ---

sphere{0, 1
    pigment{ SkyPigment }
    finish{ diffuse 0 emission <1,1,0.95>*0.3}
    scale 4000000
    hollow on
    no_shadow
    no_image
    no_reflection
}

#declare RedCol = color srgb <255,40,0 >/255;
#declare OrangeCol = color srgb <255,155,0 >/255;
#declare Clear = color srgbft <0,0,0,0,1>;
#declare FireMix =
density{
    wrinkles
    density_map{
        [0.4 RedCol ]
        [0.5 OrangeCol]
        [0.6 RedCol]
        }
     }

#declare PointsNumber = 5;
#declare PentagramRadius = 4;
#declare PentagramScaleFactor = 12/PentagramRadius/2;
#declare LineRadius = 0.01;

#declare PentagramCirclePoints = array[PointsNumber]
{<0,0,0>, <0,0,0>, <0,0,0>, <0,0,0>, <0,0,0> }

#for( It, 0, PointsNumber - 1 )
#declare PentagramCirclePoints[It] = <0,0,PentagramRadius>;
#declare PentagramCirclePoints[It] = vrotate(PentagramCirclePoints[It],
< 0,360/PointsNumber*It,0>);
#end

//Link pentagram points
#declare Pentagram =
union{
torus{ PentagramRadius, LineRadius sturm }
cylinder{ PentagramCirclePoints[0], PentagramCirclePoints[2], LineRadius }
cylinder{ PentagramCirclePoints[0], PentagramCirclePoints[3], LineRadius }
cylinder{ PentagramCirclePoints[1], PentagramCirclePoints[3], LineRadius }
cylinder{ PentagramCirclePoints[1], PentagramCirclePoints[4], LineRadius }
cylinder{ PentagramCirclePoints[2], PentagramCirclePoints[4], LineRadius }
     pigment{ color srgbft <0, 0, 0, 0, 1> }
     hollow
     no_shadow
     interior{
         media{
             emission
             color srgb 8 // This is not the major problem; change
                          // to 0.1 to see
             samples 30
             intervals 1
             density{bozo scale 0.1}
  }
 }
    //translate (.03 - .04*clock)*y // moving the pentagram away from the
    // GROUND reduces the number of super-bright radiosity splotches--
    // I think the pentagram is halfway embedded in the ground.
}


#declare brown1_srgb = color srgb <122, 72, 57> / 255;
#declare brown2_srgb = color srgb <126, 76, 62> / 255;
#declare brown3_srgb = color srgb <114, 62, 53> / 255;
#declare brown4_srgb = color srgb <102, 53, 43> / 255;
#declare brown5_srgb = color srgb <93 , 43, 38> / 255;

#macro T_5var_Wrinkles( multiplicateur, Col1, Col2, Col3, Col4, Col5)
texture{
      pigment{
       wrinkles
       color_map{
          [0.0 Col3*multiplicateur]
          [0.125 Col2*multiplicateur]
          [0.25 Col1*multiplicateur]
          [0.375 Col2*multiplicateur]
          [0.5 Col3*multiplicateur]
          [0.675 Col4*multiplicateur]
          [0.75 Col5*multiplicateur]
          [0.875 Col4*multiplicateur]
          [1.0 Col3*multiplicateur]
                     }
          scale 0.005
             }
           }
#end

#macro Pig_5colors_Wrinkles( multiplicateur, Col1, Col2, Col3, Col4, Col5)
      pigment{
           wrinkles
           color_map{
          [0.0 Col3*multiplicateur]
          [0.125 Col2*multiplicateur]
          [0.25 Col1*multiplicateur]
          [0.375 Col2*multiplicateur]
          [0.5 Col3*multiplicateur]
          [0.675 Col4*multiplicateur]
          [0.75 Col5*multiplicateur]
          [0.875 Col4*multiplicateur]
          [1.0 Col3*multiplicateur]
                    }
         scale 0.005
         }
#end

#declare T_brown2 = T_5var_Wrinkles(1.12  ,brown1_srgb, brown2_srgb,
brown3_srgb, brown4_srgb, brown5_srgb)
#declare GrayPig = Pig_5colors_Wrinkles(1.12, color srgb 0.6, color srgb 0.65,
color srgb 0.7, color srgb 0.75, color srgb 0.8)
#declare BrownPig = Pig_5colors_Wrinkles(1.12  ,brown1_srgb, brown2_srgb,
brown3_srgb, brown4_srgb, brown5_srgb)

#declare FinalGroundPig =
pigment{
    gradient y
    pigment_map{
         [0.0 GrayPig ]
         [0.1 BrownPig ]
               }
}

// simpler substitution for Warren's height_field ground
#declare WholeGround =
plane{y,0
texture{pigment{FinalGroundPig}}
}

WholeGround

#local Norm = < 0, 0, 0>;
#local StartPos = < -12, 100, -11>;
#local FinalPos = trace( WholeGround, StartPos, -y, Norm );
#if( Norm.x != 0 | Norm.y != 0 | Norm.z != 0 )
object{ Pentagram scale PentagramScaleFactor translate FinalPos }
#end


Post a reply to this message

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