|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
|
|