POV-Ray : Newsgroups : povray.general : Wanted: Air and Water Server Time
6 May 2024 17:34:27 EDT (-0400)
  Wanted: Air and Water (Message 42 to 51 of 51)  
<<< Previous 10 Messages Goto Initial 10 Messages
From: Thomas de Groot
Subject: Re: Wanted: Air and Water
Date: 15 Feb 2016 02:59:40
Message: <56c1856c$1@news.povray.org>
On 15-2-2016 1:32, Sven Littkowski wrote:
> I use 2,000 light sources or so, the last condition might be the one
> that applies.  What would happen, if POV-Ray would have higher limits?
> Which development file(s) contain these limits? Thanks.
>

The question immediately arises: Do you /really/ need 2000 light 
sources? Looks like overkill to me.


-- 
Thomas


Post a reply to this message

From: Mike Horvath
Subject: Re: Wanted: Air and Water
Date: 15 Feb 2016 04:40:35
Message: <56c19d13$1@news.povray.org>
On 2/15/2016 2:59 AM, Thomas de Groot wrote:
> On 15-2-2016 1:32, Sven Littkowski wrote:
>> I use 2,000 light sources or so, the last condition might be the one
>> that applies.  What would happen, if POV-Ray would have higher limits?
>> Which development file(s) contain these limits? Thanks.
>>
>
> The question immediately arises: Do you /really/ need 2000 light
> sources? Looks like overkill to me.
>
>

In my scene with an area light of 8 sources there was noticeable banding 
of the shadows. 2000 does sound like a lot though.


Mike


Post a reply to this message

From: Sven Littkowski
Subject: Re: Wanted: Air and Water
Date: 15 Feb 2016 05:21:35
Message: <56c1a6af$1@news.povray.org>
Hi,

I never worked with area light and area illumination before. I tried to
establish this kind of light based on your example, but I am not sure if
I gave the correct numbers. And I also don't know the correct order.


 #declare MyLight = union
 {
  light_source
  {
   5000.0*z      // Location
   760.0*x*0.7   // Color?
   257, 33       // ?
   area_light    // Type
 // The POV-Ray docu says vectors and sizes are required for area light
   < -1000.0, -1300.0, 0.0 > < 1000.0, -1300.0, 5000.0 > 3, 3 // OK?
   adaptive 0    //
   area_illumination on //
  }
  cylinder
  {
   0, 5000.0*z, 760.0
   pigment
   {
    radial
    color_map
    {
     [ 0.00 rgb  0.5 ]
     [ 0.05 rgbf < 0.8, 0.5, 0.2, 1.0 > ]
     [ 0.10 rgbf 1.0 ]
     [ 0.40 rgbf 1.0 ]
     [ 0.45 rgbf < 1.0, 0.7, 0.5, 1.0 > ]
     [ 0.50 rgb  0.5 ]
    }
    rotate 180*z
   }
   translate < 0.0, -10.0, 0.0 >
  }
 }

------------------------------------------------------------

On 14.02.2016 10:47, Alain wrote:
> area_light HabitatLength*z, AxleRadius*x*0.7, 257, 33 adaptive 0 area_illumination


Post a reply to this message

From: Sven Littkowski
Subject: Re: Wanted: Air and Water
Date: 15 Feb 2016 05:29:41
Message: <56c1a895$1@news.povray.org>
I came to use 2,000 light sources, because I want soft shadows along the
Z axis (a light each 40 meters) for the one reason, and also a flow from
day-white light via afternoon-peach to sunset-purple along the Z axis.

Alternatively, working with no light source but with emitting surfaces
of those colors and radiosity, does also the trick.

But I am also interested to learn about media atmospheric effects, and
so I try both illuminations still and find out, which way gives me the
best results.

I am considering to create a custom version of POV-Ray that does not
give me those limits. Maybe, one day, these limits can be set within the
appropriate .ini file or within the menu bar of the program (settings,
options), or don't exist anymore but POV-Ray would give a warning or
advise when parsing such a scene. Hey, CLipka, how do you do today? :-)

------------------------------------------------

On 15.02.2016 04:40, Mike Horvath wrote:
> On 2/15/2016 2:59 AM, Thomas de Groot wrote:
>> On 15-2-2016 1:32, Sven Littkowski wrote:
>>> I use 2,000 light sources or so, the last condition might be the one
>>> that applies.  What would happen, if POV-Ray would have higher limits?
>>> Which development file(s) contain these limits? Thanks.
>>>
>>
>> The question immediately arises: Do you /really/ need 2000 light
>> sources? Looks like overkill to me.
>>
>>
> 
> In my scene with an area light of 8 sources there was noticeable banding
> of the shadows. 2000 does sound like a lot though.
> 
> 
> Mike


Post a reply to this message

From: Sven Littkowski
Subject: Re: Wanted: Air and Water
Date: 15 Feb 2016 07:34:36
Message: <56c1c5dc$1@news.povray.org>
Small Update, Alain:

I copied your code and made small adaptions. But due to the fact, that I
still have no full understanding of what I am doing here ( :-) ), I
produce errors at the location where I use your "257, 33".

------------------------------------

 #declare MyLight = union
 {
  light_source
  {
   4999.8*(z+0.1)// Location  - small difference to walls (0.1)
   760.0*x*0.7   // Color?
   257, 33       // ? ERROR ---
   area_light    // Type
   < -1000.0, -1300.0, 0.1 > < 1000.0, -1300.0, 4999.9 > 3, 3 // Vectors?
   adaptive 0    //
   area_illumination on //
  }
  cylinder
  {
   0, 5000.0*z, 760.0
   pigment
   {
    radial
    color_map
    {
     [ 0.00 rgb  0.5 ]
     [ 0.05 rgbf < 0.8, 0.5, 0.2, 1.0 > ]
     [ 0.10 rgbf 1.0 ]
     [ 0.40 rgbf 1.0 ]
     [ 0.45 rgbf < 1.0, 0.7, 0.5, 1.0 > ]
     [ 0.50 rgb  0.5 ]
    }
    rotate 180*z
   }
//   interior_texture  // not yet in place. But shouldn't that cylinder
be hollow then?
   translate < 0.0, -10.0, 0.0 >
  }
 }

------------------------------------

On 14.02.2016 10:47, Alain did some écrit:
> area_light HabitatLength*z, AxleRadius*x*0.7, 257, 33 adaptive 0
> area_illumination
> 
> cylinder{0, HabitatLength*z, AxleRadius
>  pigment{radial
>   color_map{[0 rgb 0.5][0.05 rgbf<0.8, 0.5, 0.2, 1>][0.1 rgbf 1]
>   [0.4 rgbf 1][0.45 rgbf<1, 0.7, 0.5, 1>][0.5 rgb 0.5]}
>  rotate 180*z}
> }


Post a reply to this message

From: clipka
Subject: Re: Wanted: Air and Water
Date: 15 Feb 2016 15:03:23
Message: <56c22f0b$1@news.povray.org>
Am 15.02.2016 um 11:29 schrieb Sven Littkowski:

> Hey, CLipka, how do you do today? :-)

Mild headache, thanks to you ;)


Post a reply to this message

From: Sven Littkowski
Subject: Re: Wanted: Air and Water
Date: 15 Feb 2016 22:12:37
Message: <56c293a5$1@news.povray.org>
Too much pressure in your life?   3:)

On 15.02.2016 15:02, clipka wrote:
> Am 15.02.2016 um 11:29 schrieb Sven Littkowski:
>> (ideas to improve POV-Ray...) Hey, CLipka, how do you do today? :-)
> 
> Mild headache, thanks to you ;)
>


Post a reply to this message

From: Alain
Subject: Re: Wanted: Air and Water
Date: 16 Feb 2016 14:10:26
Message: <56c37422@news.povray.org>
Le 16-02-15 05:21, Sven Littkowski a écrit :
> Hi,
>
> I never worked with area light and area illumination before. I tried to
> establish this kind of light based on your example, but I am not sure if
> I gave the correct numbers. And I also don't know the correct order.
>
>
>   #declare MyLight = union
>   {
>    light_source
>    {
>     5000.0*z      // Location
Yes, location of <0, 0, 5000>
>     760.0*x*0.7   // Color?
That makes your light red. It evaluate to rgb <760*0.7, 0, 0>
>     257, 33       // ?
This WILL cause an error and stop parsing.
MUST folloow both area_light AND the two axis
>     area_light    // Type
>   // The POV-Ray docu says vectors and sizes are required for area light
>     < -1000.0, -1300.0, 0.0 > < 1000.0, -1300.0, 5000.0 > 3, 3 // OK?
That can be ok. This define a rectangle set -1300 unit down the y axis, 
and set at an angle.
A 3 by 3 array is extremely croase. Barely ok for a test render. Could 
be used simulate an actual array of 3 by 3 lights if used without jitter 
and adaptive.
>     adaptive 0    //
Good for test render. If good enough, may be kept for final render.
>     area_illumination on //
OK
>    }

You first define the location of the light, then it's colour.
After that, you add the area_light parameters and other light options.

It's as follow, after location and colour/intensity:
area_light
First size of the area light as an axis
Second size of the area light also as an axis
For both axis, the shortcut n*x, n*y and n*z are legal.
Number of samples along the first axis
Number of samples along the second axis

For the axis, it's usualy beter to define them along the reference axis. 
After that, if needed, you can rotate the light as a whole to orient the 
plane as needed. That's much easier than giguring the correct values for 
the axis. Alternatively, it's possible to use some axis manipulation 
macros to calculate the correct values.

It's followed by the other options in any order:

area_illumination will affect the illumination of objects that are close 
to the light's location.

adaptive turn on the adaptive subsampling. The keyword is followed by an 
integer value that set the minimal number of initial subsampling.
A value of 0 will start with only the 4 corners, and if they are not all 
visible or invisible from a given point, then subdivision will occur.
A value of 1 will start with a 3 by 3 array, adaptive 2 will start with 
a 5 by 5 array, subjected to the actual number of sublights in that 
direction.
adaptive allow the use of large number of samples with minimal 
performance hit.

circular moves the sublights inward so that they reside within a circle 
or ellips.
orient will pivot the sublights array so that it's always facing any 
point bein evaluated. It MUST be used with circular and the two axis 
must be ov the same length and the number of samples must be the same in 
both directions.

jitter will randomly move the sublights to reduce banding. If used with 
antialiasing, each antialiasing samples will have a different jittering 
of the sublights.

area_light is compatible with spotlight, cylinder, projected_through, 
parallel.
It's pointless for a shadowless light.

Correctly writing your sample:
light_source{
  Location
  Colour
  area_light // turn on the area_light feature
  5000*z 760*0.7*x //surface covered be the area_light
  257 33 //number of samples along the long and short axis
  jitter // very small effect in this case, help reduce banding
}

This area_light is parallel with the X-Z plane, and it's longest extent 
is alligned along the z axis.
If location is set for 500*y or <0, 500, 0>, the light will be located 
within this square:
<-16.5, 500, -2500> <16.5, 500, 2500>



Alain


Post a reply to this message

From: Sven Littkowski
Subject: Re: Wanted: Air and Water
Date: 16 Feb 2016 20:16:57
Message: <56c3ca09$1@news.povray.org>
Hi, big thanks, so far. please let's continue.

I used "760.0*x*0.7   // Color?" because you wrote: "AxleRadius*x*0.7".
I don't need a red light, so I will change it. :-)

Right after you wrote "257,33", that is why I placed them right after,
too. What are these two numbers actually about, or for?
And where exactly to place them? After the vectors of the area_light as
replacement for "3,3"?

Vectors of the area_light:
< -1000.0, -1300.0, 0.0 > < 1000.0, -1300.0, 5000.0 >
What exactly do they describe? The illuminated area? Or the area
(rectangle) in which all lights are in? I might have to make some
changes to those two vectors, based on your answer. :-)

At the moment, I have this as light system, but the resulting image is
just showing a distant gray ring:
---------------------------

#if(IlluminationType="Lights")
 #declare MyLight = union
 {
  light_source
  {
   5000*z                   // Location
   rgb < 1.00000, 0.98824, 0.88235 > // Color
   area_light               // Type
   5000*z 760*0.7*x 257, 33 // Vectors
   adaptive 0               //
   area_illumination on     //
  }
  cylinder
  {
   0, 5000.0*z, 760.0
   pigment
   {
    radial
    color_map
    {
     [ 0.00 rgb  0.5 ]
     [ 0.05 rgbf < 0.8, 0.5, 0.2, 1.0 > ]
     [ 0.10 rgbf 1.0 ]
     [ 0.40 rgbf 1.0 ]
     [ 0.45 rgbf < 1.0, 0.7, 0.5, 1.0 > ]
     [ 0.50 rgb  0.5 ]
    }
    rotate 180*z
   }
//   interior_texture  // not yet in place. But shouldn't that cylinder
be hollow then?
   translate < 0.0, -10.0, 0.0 >
  }
 }
#end

----------------------------------------




On 14.02.2016 10:47, Alain wrote:
> area_light HabitatLength*z, AxleRadius*x*0.7, 257, 33 adaptive 0
> area_illumination
>
> cylinder{0, HabitatLength*z, AxleRadius
>  pigment{radial
>   color_map{[0 rgb 0.5][0.05 rgbf<0.8, 0.5, 0.2, 1>][0.1 rgbf 1]
>   [0.4 rgbf 1][0.45 rgbf<1, 0.7, 0.5, 1>][0.5 rgb 0.5]}
>  rotate 180*z}
> }

On 16.02.2016 14:10, Alain wrote:
> Le 16-02-15 05:21, Sven Littkowski a écrit :
>>     5000.0*z      // Location
> Yes, location of <0, 0, 5000>
>>     760.0*x*0.7   // Color?
> That makes your light red. It evaluate to rgb <760*0.7, 0, 0>
>>     257, 33       // ?
> This WILL cause an error and stop parsing.
> MUST folloow both area_light AND the two axis
>>     area_light    // Type
>>   // The POV-Ray docu says vectors and sizes are required for area light
>>     < -1000.0, -1300.0, 0.0 > < 1000.0, -1300.0, 5000.0 > 3, 3 // OK?
> That can be ok. This define a rectangle set -1300 unit down the y axis,
> and set at an angle.
> 
> You first define the location of the light, then it's colour.
> After that, you add the area_light parameters and other light options.
> 
> It's as follow, after location and colour/intensity:
> area_light
> First size of the area light as an axis
> Second size of the area light also as an axis
> For both axis, the shortcut n*x, n*y and n*z are legal.
> Number of samples along the first axis
> Number of samples along the second axis
> 
> For the axis, it's usualy beter to define them along the reference axis.
> After that, if needed, you can rotate the light as a whole to orient the
> plane as needed. That's much easier than giguring the correct values for
> the axis. Alternatively, it's possible to use some axis manipulation
> macros to calculate the correct values.
> 
> It's followed by the other options in any order:
> 
> area_illumination will affect the illumination of objects that are close
> to the light's location.
> 
> adaptive turn on the adaptive subsampling. The keyword is followed by an
> integer value that set the minimal number of initial subsampling.
> A value of 0 will start with only the 4 corners, and if they are not all
> visible or invisible from a given point, then subdivision will occur.
> A value of 1 will start with a 3 by 3 array, adaptive 2 will start with
> a 5 by 5 array, subjected to the actual number of sublights in that
> direction.
> adaptive allow the use of large number of samples with minimal
> performance hit.
> 
> circular moves the sublights inward so that they reside within a circle
> or ellips.
> orient will pivot the sublights array so that it's always facing any
> point bein evaluated. It MUST be used with circular and the two axis
> must be ov the same length and the number of samples must be the same in
> both directions.
> 
> jitter will randomly move the sublights to reduce banding. If used with
> antialiasing, each antialiasing samples will have a different jittering
> of the sublights.
> 
> area_light is compatible with spotlight, cylinder, projected_through,
> parallel.
> It's pointless for a shadowless light.
> 
> Correctly writing your sample:
> light_source{
>  Location
>  Colour
>  area_light // turn on the area_light feature
>  5000*z 760*0.7*x //surface covered be the area_light
>  257 33 //number of samples along the long and short axis
>  jitter // very small effect in this case, help reduce banding
> }
> 
> This area_light is parallel with the X-Z plane, and it's longest extent
> is alligned along the z axis.
> If location is set for 500*y or <0, 500, 0>, the light will be located
> within this square:
> <-16.5, 500, -2500> <16.5, 500, 2500>
> 
> 
> 
> Alain


Post a reply to this message

From: Alain
Subject: Re: Wanted: Air and Water
Date: 17 Feb 2016 18:59:05
Message: <56c50949@news.povray.org>
Le 16-02-16 20:16, Sven Littkowski a écrit :
> Hi, big thanks, so far. please let's continue.
>
> I used "760.0*x*0.7   // Color?" because you wrote: "AxleRadius*x*0.7".
> I don't need a red light, so I will change it. :-)
>
> Right after you wrote "257,33", that is why I placed them right after,
> too. What are these two numbers actually about, or for?

They define how many samples there are along the axis of the area_light

> And where exactly to place them? After the vectors of the area_light as
> replacement for "3,3"?
Yes.
>
> Vectors of the area_light:
> < -1000.0, -1300.0, 0.0 > < 1000.0, -1300.0, 5000.0 >
> What exactly do they describe? The illuminated area? Or the area
> (rectangle) in which all lights are in? I might have to make some
> changes to those two vectors, based on your answer. :-)

Those define the physical dimention and orientation of the area_light 
basic rectangle.
In your case, you want it to be parallel to the axis of the habitat. 
Assuming that that axis is along the Z axis, the large value must be 
along the Z axis. The short axis should be along the X or Y axis, 
depending on whitch is the most convenient for your situation.

The effective rectangle is shifted so that it's center point sit at the 
light's location. So, the rectangle si centered on the light's location 
and extend +- half the dimention around that point.

>
> At the moment, I have this as light system, but the resulting image is
> just showing a distant gray ring:
> ---------------------------
>
> #if(IlluminationType="Lights")
>   #declare MyLight = union
>   {
>    light_source
>    {
>     5000*z                   // Location

As it is now, the light is located at the far extremity of the cylinder.
Change to 2500*z so that it's centered along the length of the cylinder.

>     rgb < 1.00000, 0.98824, 0.88235 > // Color
OK, a somewhat warm looking light colour.
>     area_light               // Type
>     5000*z 760*0.7*x 257, 33 // Vectors
OK.
>     adaptive 0               //
Make it render as fast as possible.
>     area_illumination on     //
>    }
>    cylinder
>    {
>     0, 5000.0*z, 760.0
>     pigment
>     {
>      radial
>      color_map
>      {
>       [ 0.00 rgb  0.5 ]
>       [ 0.05 rgbf < 0.8, 0.5, 0.2, 1.0 > ]
>       [ 0.10 rgbf 1.0 ]
>       [ 0.40 rgbf 1.0 ]
>       [ 0.45 rgbf < 1.0, 0.7, 0.5, 1.0 > ]
>       [ 0.50 rgb  0.5 ]
>      }
As radial rotate around the Y axis, you need to rotate it 90° around the 
X axis.
   rotate 90*x
>      rotate 180*z
May need to be adjusted so that the opening is facing up or down.

>     }
> //   interior_texture  // not yet in place. But shouldn't that cylinder
> be hollow then?

interior_texture is entirely optional.
Don't need to add hollow. hollow only enable the object to contain some 
media or fog, nothing else.

>     translate < 0.0, -10.0, 0.0 >
>    }
>   }
> #end
>
> ----------------------------------------
>
>
Quotted from the documentation:

"The radial pattern is a radial blend that wraps around the +y-axis. The 
color for value 0.0 starts at the +x-direction and wraps the color map 
around from east to west with 0.25 in the -z-direction, 0.5 in -x, 0.75 
at +z and back to 1.0 at +x. Typically the pattern is used with a 
frequency modifier to create multiple bands that radiate from the y-axis."

In this case, we only want the pattern to repeat once around the cylinder.


Alain


Post a reply to this message

<<< Previous 10 Messages Goto Initial 10 Messages

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