|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
The documentation states: "Rather than performing the complex calculations
that would be required to model a true area light, it is approximated as an
array of point light sources spread out over the area occupied by the
light. The array-effect applies to shadows only. The object's illumination
is still that of a point source."
The last two sentences are what interest me. They seem to imply that an
object illuminated by a point light will be exactly the same as one
illuminated by a very large area light. Is this entirely correct? Assume
that the scene has just the light and the object, so soft shadows can be
ignored, unless the object is self-shadowing. I believe a sphere is not
self-shadowing, so let's say the object is a sphere.
So the only way to approximate a true area light source with soft shadows,
is to use an array of area lights -- like the cornell example. Am I right?
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> The last two sentences are what interest me. They seem to imply that an
> object illuminated by a point light will be exactly the same as one
> illuminated by a very large area light. Is this entirely correct? Assume
> that the scene has just the light and the object, so soft shadows can be
> ignored, unless the object is self-shadowing. I believe a sphere is not
> self-shadowing, so let's say the object is a sphere.
Correct. A sphere with nothing else in the scene will be illuminated exactly
the same with an area light as without one.
Actually, now that I think about it, the area around the shadow line might
be *slightly* different. (The shadow line might be more blurred.) But aside
from shadow calculation, the area light behaves the same. This means that
you shouldn't use area lights when they are so big that their size will
significantly affect the scene in terms of specular reflection or the
direction to them from a point on an object.
> So the only way to approximate a true area light source with soft shadows,
> is to use an array of area lights -- like the cornell example. Am I right?
An area_light approximates a true area light with soft shadows. They suffice
in most situations (rarely are area lights so large that you need to worry
about the case I mentioned above). An array of area lights could help in
such a case, I suppose... but using an array of lights rather than a single
area light covering the same area won't have any affect on the softness of
shadows.
- Slime
[ http://www.slimeland.com/ ]
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Anthony D'Agostino" <sco### [at] spamEcsicom> wrote in message
news:3dee9ab8@news.povray.org...
> The documentation states: "Rather than performing the complex calculations
> that would be required to model a true area light, it is approximated as
an
> array of point light sources spread out over the area occupied by the
> light. The array-effect applies to shadows only. The object's illumination
> is still that of a point source."
>
> The last two sentences are what interest me. They seem to imply that an
> object illuminated by a point light will be exactly the same as one
> illuminated by a very large area light. Is this entirely correct? Assume
> that the scene has just the light and the object, so soft shadows can be
> ignored, unless the object is self-shadowing. I believe a sphere is not
> self-shadowing, so let's say the object is a sphere.
>
This got me interested, see my post in p.b.i
> So the only way to approximate a true area light source with soft shadows,
> is to use an array of area lights -- like the cornell example. Am I right?
>
I think you should mean an array of point lights maybe? Each area light in
the array (especially the ones at the outer edges) would still have the same
problem as a single area light only on a smaller scale (I suppose with
enough ALs in the array, it would be insignificant though, and you can take
advantage of 'jitter'.
-tgq
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Area lights in POVRay are geared towards *efficient* simulation of soft
shadows:
there as been a thread which stirred some discussion and ruffled some
feathers, not so long ago.
To summarize, when the lighting code encounters a light it has to do 2
things:
calculate the amount of shadowing (incident light) and the amount of
reflected (diffuse and specular) light.
POVRay calculates the the amount of shadowing using a number of shadow rays,
then it approximates the reflectance functions using a single angle of
incidence, calculating it using a light ray going from point of
intersection to (center of) light source.
While shadowing (incoming amount of light) is correct, outgoing amount of
light get increasingly incorrect as size of light increases in respect of
illuminated object.
To simulate illumination from an area light, POVRay would have to perform
the whole illumination calculation for each of the shadow rays used to test
for occlusion.
This would mean a (probably) large increase in rendering time and complexity
of the code, altough a crude hack coud involve entirely special casing area
ligths.
I'm (*very* lazingly) toying with such a hack.
Alex
P.S.: That's "lazingly" as in:
"I wouldn't hold my breath until..." or, better yet, "I wouldn't have my
worst enemy hold his breath until..." the hack is past the ideation stage.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> While shadowing (incoming amount of light) is correct, outgoing amount of
> light get increasingly incorrect as size of light increases in respect of
> illuminated object.
>
> To simulate illumination from an area light, POVRay would have to perform
> the whole illumination calculation for each of the shadow rays used to
test
> for occlusion.
>
I understand what you mean here. When I set up my point light array for use
as an area light, I simply divide the brightness of the light by the number
of lights. This may not be entirely corect, so I may have to sit down and
think harder about it in the future. I would think it would depend on the
area involved as well.
-tgq
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In article <web.3def10d4836ceb7115e7f0160@news.povray.org>,
"Alex" <ale### [at] alphacit> wrote:
> To simulate illumination from an area light, POVRay would have to perform
> the whole illumination calculation for each of the shadow rays used to test
> for occlusion.
>
> This would mean a (probably) large increase in rendering time and complexity
> of the code, altough a crude hack coud involve entirely special casing area
> ligths.
One possible alternative I can think of would be to use a separate
resolution for the illumination calculation and shadow calculation. In
most cases, you only need lots of samples to get smooth shadows, you
should be able to get away with much less for the illumination.
Another odd idea is this: the lighting calculations depend on the angle
of the normal to a point (a simplification), the center of the light
source. Instead, use the angle to either a disk, line, or rectangle, if
the normal points inside the light the angle is 0. No sampling, so it
would be faster than shooting rays though slower than a point
approximation. It won't work properly in partial shadow, but should be
closer to reality than the point approximation.
Ideally, you would be able to choose which you wanted: true area light,
point, line, disk, or rectangle approximations.
--
Christopher James Huff <cja### [at] earthlinknet>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tagpovrayorg
http://tag.povray.org/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In article <3def6b55$1@news.povray.org>,
"TinCanMan" <Tin### [at] hotmailcom> wrote:
> I understand what you mean here. When I set up my point light array for use
> as an area light, I simply divide the brightness of the light by the number
> of lights. This may not be entirely corect, so I may have to sit down and
> think harder about it in the future. I would think it would depend on the
> area involved as well.
It should be correct if the points are evenly distributed, if I'm not
missing something too obvious to see.
--
Christopher James Huff <cja### [at] earthlinknet>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tagpovrayorg
http://tag.povray.org/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> > I understand what you mean here. When I set up my point light array for
use
> > as an area light, I simply divide the brightness of the light by the
number
> > of lights. This may not be entirely corect, so I may have to sit down
and
> > think harder about it in the future. I would think it would depend on
the
> > area involved as well.
>
> It should be correct if the points are evenly distributed, if I'm not
> missing something too obvious to see.
Yes I think it should work too, as it would seem to be the total intensity
of the area light spread over it's components. At first I thought maybe it
was a little too dim, but I suppose if you compare the images (p.b.i) that
the scene lighting seems to be the same overall. It's just the way the
sphere itself is illuminated, and I guess we already should know not to
expect the area light to show the correct object illumination.
-tgq
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Slime wrote:
> Actually, now that I think about it, the area around the shadow line
might
> be *slightly* different. (The shadow line might be more blurred.) But
aside
If this is true, then spheres are self-shadowing?
Alex wrote:
> While shadowing (incoming amount of light) is correct, outgoing amount of
> light get increasingly incorrect as size of light increases in respect of
> illuminated object.
I understand, but is this also true if I remove the area_light altogether,
use ambient 1 for the geometry of the light only, and render with GI on?
This seems to produce results that are less accurate than with area_light.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In article <3defdecb@news.povray.org>,
"Anthony D'Agostino" <sco### [at] spamEcsicom> wrote:
> If this is true, then spheres are self-shadowing?
Only perfectly flat objects (plane, triangle, disc, polygon...) are not
self shadowing. Any object that has a shadow line will have a slightly
different one with an area light. (ignore boxes and linear spline prisms
are self shadowing but only the shading of the surfaces will be
different)
> I understand, but is this also true if I remove the area_light altogether,
> use ambient 1 for the geometry of the light only, and render with GI on?
> This seems to produce results that are less accurate than with area_light.
That is because radiosity itself is either inaccurate or slow. Doing
that is more of a trick that abuses the radiosity feature...each
algorithm is better at different things.
--
Christopher James Huff <cja### [at] earthlinknet>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tagpovrayorg
http://tag.povray.org/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |