[Radiance-general] Re: Luminance variation with distance
Greg Ward
[email protected]
Fri, 13 Dec 2002 08:34:49 -0800
Hi Charles,
Carsten is probably right -- the src/rt/srcdraw.c routines are likely
responsible for the observations you are making in your renderings.
These routines were included to prevent annoying aliasing artifacts
that result when sources are too small to be reliably sampled by rpict
view rays.
I can explain the reasoning behind the routines thus. Normally, rpict
is followed by a pfilt command to perform anti-aliasing, and ideally
you would send such a large number of initial samples (oversampling)
that you were guaranteed to see everything there is to see in each
pixel. These pixels would then be filtered down (averaged together) to
compute the final output pixel, which would then be equivalent to the
photon sampling that goes on in a physical camera. (Equivalent -- not
identical, as rpict simulates an ideal pinhole camera with zero
extent.) If we were able to perform this calculation in our lifetimes,
what we would see for light sources (and for all objects) is a constant
pixel luminance while the object completely covered the pixel, then a
proportionally decreasing value as the object covered less than a full
pixel as it moved farther away. As Carsten pointed out, an object's
diminishing size with distance is proportional to 1/r^2 since there are
two dimensions to an image, and that is what you should see and would
see with a real camera.
In short, if you apply pfilt following rpict, you should see an
approximation of this behavior for all objects, not only light sources.
Since the straight output of rpict has only one sample (at most) per
pixel, the sample either hits an objec or it doesn't. The reason you
get effective oversampling for light sources is because of the special
routines in srcdraw.c. The approximation in these routines is not
exact (nothing is exact in a simulation), but it's fairly close to
being correct -- certainly a lot closer than you could get with Monte
Carlo sampling.
If this behavior is a problem, you can couple the vwrays program with
rtrace to avoid all of rpict's sampling optimizations.
-Greg
> From: "BOWEN, CHARLES K. (JSC-SF5) (JEC)"
> <[email protected]>
> To: "'[email protected]'"
> <[email protected]>
> Date: Tue, 10 Dec 2002 14:55:12 -0600
> Subject: [Radiance-general] Luminance variation with distance
> Reply-To: [email protected]
>
> I am a na�ve user of Radiance involved in modeling various lighting
> conditions encountered during spacecraft docking/berthing operations.
> Recently I encountered some unexpected luminance values when modeling
> distant views of docking lights.
>
> As the separation between the viewpoint and a light source is
> increased, the
> luminance of the source should remain constant. Sources I have modeled
> using Radiance behave in this way until they occupy a solid angle
> relative
> to the observer of less than 4.9e-06 steradian or so (for example, a
> two-inch radius disk source at 134 feet). Beyond this distance,
> however,
> the modeled luminance of the source decreases in inverse proportion to
> the
> square of the separation distance. This behavior is only exhibited by
> light
> sources. In contrast, models of small reflective surfaces illuminated
> by a
> fixed local source exhibit constant luminance as the surface viewing
> distance is increased, finally disappearing from view altogether when
> they
> occupy a solid viewing angle of approximately 2.2e-06 steradian. Can
> anyone
> explain the light sources'departure from ideal constancy of luminance
> with
> distance?
>
> I'll gladly provide additional information about my modeling attempts
> to
> anyone interested.
>
> Charles K. Bowen, Ph.D.
> Graphics Research and Analysis Facility (GRAF)
> Johnson Space Center, NASA