POV-Ray : Newsgroups : povray.general : Lighting Artifacts Help ? : Re: Lighting Artifacts Help ? Server Time
21 Feb 2024 23:34:42 EST (-0500)
  Re: Lighting Artifacts Help ?  
From: Alain Martel
Date: 18 Jan 2022 23:14:45
Message: <61e79035$1@news.povray.org>
Le 2022-01-18 à 11:41, scottb613 a écrit :
> Alain Martel <kua### [at] videotronca> wrote:

>> Those may be some radiosity artifacts.
>> What are your radiosity settings, if any ?
>>
>> Some times, scaling up everything by 10 can make those disappear, or
>> make them smaller. In that case, it indicate rounding errors.
> 
> Hi Alain,
> 
> Thanks so much for the response.
> 
> Hmm - I tried to post my POV file as a zipped attachment - I selected it but it
> doesn't appear to upload it anywhere. Did same on this message.

Attachments are not allowed in this group. You can only have attachments 
in the groups that have .binaries. in their names.
For scene files as zip files, you want to use povray.binaries.scene-files
For shorter scene files, you can use povray.text.scene-files
For images, you want to use povray.binaries.images

> 
> Here is the "Lighting" block I used in the images - it's probably not correct -
> I just played with values until I got something that seemed to work - LOL - much
> like a chimp writing a symphony.
> 
> ###################################################################################
> 
> "// adding a photon{} block to global_settings activates photon mapping.
> // photons also need to be adjusted for light sources and objects.
> global_settings {
>    photons {
>      spacing 0.01                 // specify the density of photons
>      //count 100000               // alternatively use a total number of photons
> 
>      //gather min, max            // amount of photons gathered during render
> [20, 100]
>      //media max_steps [,factor]  // media photons
>      //jitter 1.0                 // jitter phor photon rays
>      //max_trace_level 5          // optional separate max_trace_level
>      //adc_bailout 1/255          // see global adc_bailout
>      //save_file "filename"       // save photons to file
>      //load_file "filename"       // load photons from file
>      //autostop 0                 // photon autostop option
>      //radius 10                  // manually specified search radius
>      // (---Adaptive Search Radius---)
>      //steps 1
>      //expand_thresholds 0.2, 40
>    }
> }
> 
> #default{ finish{ ambient 0 diffuse 1 }}
> 
> // radiosity (global illumination) settings
> global_settings {
>    radiosity {
>      pretrace_start 0.08           // start pretrace at this size
>      pretrace_end   0.04           // end pretrace at this size
>      count 1600                     // higher -> higher quality (1..1600) [35]
>      nearest_count 10              // higher -> higher quality (1..10) [5]
>      error_bound 1.0               // higher -> smoother, less accurate [1.8]
>      recursion_limit 3             // how much interreflections are calculated
> (1..5+) [3]
>      low_error_factor .5           // reduce error_bound during last pretrace
> step
>      gray_threshold 0.0            // increase for weakening colors (0..1) [0]
>      minimum_reuse 0.015           // reuse of old radiosity samples [0.015]
>      brightness 0.5                 // brightness of radiosity effects (0..1) [1]
> 
>      adc_bailout 0.01/2
>      //normal on                   // take surface normals into account [off]
>      //media on                    // take media into account [off]
>      //save_file "file_name"       // save radiosity data
>      //load_file "file_name"       // load saved radiosity data
>      //always_sample off           // turn sampling in final trace off [on]
>      //max_sample 1.0              // maximum brightness of samples
>    }
> }
> 
> 
> 
> 
> // Persistence of Vision Ray Tracer Scene Description File
> // File: ?.pov
> // Vers: 3.6
> // Desc: Basic Scene Example
> // Date: mm/dd/yy
> // Auth: ?
> //
> 
> #version 3.6;
> 
> #include "colors.inc"
> 
> global_settings {
>    assumed_gamma 3.0
> }
> 
> 
> 
> // ----------------------------------------
> 
> light_source {
>    <200,50,150>       // light's position
>    color rgb 1.3       // light's color
>    photons {           // photon block for a light source
>      refraction on
>      reflection on
>    }
> }
> 
> 
> 
> // ----------------------------------------
> 
> // ----------------------------------------
> 
> light_source {
>    <-200,-50,250>       // light's position
>    color rgb 1.3       // light's color
>    photons {           // photon block for a light source
>      refraction on
>      reflection on
>    }
> }
> 
> // create a regular point light source
> light_source {
>    0*x                  // light's position (translated below)
>    color rgb <1,1,1>    // light's color
>    translate <25, 20, -45>
>    // light_source { ...
>    // put this inside a light_source to add light fading
>    fade_distance 12
>    fade_power 2
>    shadowless
> 
> }
> 
> // create a regular point light source
> light_source {
>    0*x                  // light's position (translated below)
>    color rgb <1,1,1>    // light's color
>    translate <25, 20, 45>
>    // light_source { ...
>    // put this inside a light_source to add light fading
>    fade_distance 11
>    fade_power 2
>    shadowless
> 
> }"
> 
> Regards,
> Scott
> 
> 

Unless your scene contains reflective surfaces or transparent objects 
with an ior, you don't need the photons block.
Not an issue. If there are no object with a photons block that set it as 
a target, then, there will be no photons shooting.

You want to reduce pretrace_end. The default value that you use is to 
large when the resolution is larger than 800 by 600.
Good value can be 0.01 down to 0.0025. In larger renders, it may be 
preferable to go even lower.

You probably don't need a count of 1600. You could probably reduce that 
to 400 to 500.

As this is an exterior scene, a recursion_limit of 1 is probably enough. 
In some cases, a value of 2 may be needed. 3 is overkill.

You may want to reduce low_error_factor to something in the 0.2 to 0.3 
range.

You very probably need to reduce minimum_reuse. You may need to reduce 
it down to 0.005. Just make it slightly smaller that your pretrace_end.

brightness should remain at it's default value of 1. Better not use it 
at all.

You probably don't need to set adc_bailout and use the default value.

error_bound could benefit from a smaller value. Values of 1 ti 1.8 are 
OK when using regular lights as your main illumination. You usually need 
it to be less than 0.5 when you use emissive object(s) as light sources.


Note about the photons block for the light_source. That block is never 
needed UNLESS you want to prevent that light from shooting photons.
All non-shadowless lights always shoot photons at all target objects in 
any photons scene.
That block was required way back in version 3.3. It's no longer needed 
since version 3.5.
Now, the block :
   photons { refraction on reflection on }
is the default for all lights *unless* they are shadowless.

When using fading lights, it's better to set fade_distance to 1 and 
increase the light's intensity as needed.

light_source{ <25, 20, 45> // create directly at the desired location
	rgb 121 // color keyword is never needed when rgb is used
		// float value get promoted to a full rgb vector
		// the intensity is not limited to the 0..1 range
		// it can get larger than 10 000 000
	fade_distance 1
	fade_power 2
	}

Fading lights often don't play well with the shadowless attribute.
shadowless lights never cause any highlight and never shoot any photon.
Most of the time, you don't need them.
They may cause some issue when used in a radiosity scene.


Post a reply to this message

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