[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