POV-Ray : Newsgroups : povray.advanced-users : Lightsys : Re: Lightsys Server Time
16 Apr 2024 06:00:33 EDT (-0400)
  Re: Lightsys  
From: Alain
Date: 25 Feb 2018 19:02:50
Message: <5a934eaa@news.povray.org>
Le 18-02-25 à 02:53, Thomas de Groot a écrit :
> On 24-2-2018 17:07, Mike Horvath wrote:
>> On 2/23/2018 8:18 AM, Alain wrote:
>>> The 3 lumen looks a little to bright.
>>> Can you post the 1 lumen image?
>>>
>>> Also, the sun position is not the same for the two images. It mover 
>>> by around 40°.
>>
>> Here it is with RGB instead of SRGB, and 1 lumens.
>>
>> https://i.imgur.com/AcGBbla.jpg
>>
>> As you can see, it is pretty dim and lifeless.
>>
> 
> On my screen it looks right.
> 
> I often use CIE.inc myself, maybe in a little different way than you do. 
> This is an example of how I define my sunlight in a scene:
> 
> //start code -----------------------------------
> #include "CIE.inc"
> #if (Fog)
>    #local Intensity    = 5;
> #else
>    #local Intensity    = 3;
> #end
> //Sun's temperature (Kelvin): 2800=red; 7500=blue white
> #declare SunColor     = Blackbody(6500)*Intensity;
> #declare SunPosition  = <0, 0, -2>*10e4;
> #declare SunDis       = vlength(SunPosition)*2/215;
> #declare Sun_alt      = 60;
> #declare Sun_azm      = -115;
> 
> #if (Area)
>    #debug "\nUsing an area_light for the Sun.\n"
>    light_source{
>      <0, 0, 0>
>      color SunColor
>      area_light
>      SunDis*x, SunDis*z, // lights spread out (x * z)

A better, more descriptive, name would be "SunDiam"

>      4, 4                // total lights in grid (4x*4z = 16
lights)

This will actually use a 5 by 5 array...

>      adaptive 1          // 0,1,2,3...

...and start with a 3 by 3 one.
With adaptive, you can use a much larger value, like 17 or 33 without 
increasing the render time much.
adaptive 0 DON'T turn the feature off, but start with a 2 by 2 array.

>      area_illumination on  // full area diffuse and specular
>      jitter              // adds random softening of light

Makes the penumbra grainy if using a sparse array.

>      circular            // make the shape of the light circular
>      orient              // orient light
>      translate SunPosition
>      rotate Sun_alt*x
>      rotate Sun_azm*y
>      parallel
>      point_at <0, 0, 0>
>      media_interaction on
>      media_attenuation off
>    }
> #else
>    light_source {
>      <0, 0, 0>
>      color rgb SunColor
>      translate SunPosition
>      rotate Sun_alt*x
>      rotate Sun_azm*y
>      parallel
>      point_at <0, 0, 0>
>      media_interaction on
>      media_attenuation off
>    }
> #end
> //end code -----------------------------------
> 
> 

Using adaptive, you need larger arrays to get all the benefit. Some 
suggested sizes in relation with the adaptive steps values :
adaptive 0 (0 initial subdivisions)  at least 5 by 5 (2 steps)
adaptive 1 (1 initial subdivisions)  at least 9 by 9 (3 steps)
adaptive 2 (2 initial subdivisions)  at least 17 by 17 (4 steps)
adaptive 3 (3 initial subdivisions)  at least 33 by 33 (5 steps)

You can always use larger arrays to get smoother results.


Post a reply to this message

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