[Radiance-general] Rtrace for Radiance & Irradiance Calc.

Greg Ward gregoryjward at gmail.com
Thu Apr 9 09:45:07 PDT 2015


Comments inline, but I agree with the general sentiment that it's simpler (and more accurate) to apply genBSDF and other tools already suited to the purpose.  (Note that the "bsdfquery" program can be used to extract any desired BSDF angles.)  The genBSDF program employs rcontrib, which is much more powerful (and efficient) than using rtrace.  For single materials with no texture and no geometry, what you are doing should work.

> From: "Kolomenski, Andrei (JSC-SF311)[WYLE INTEG. SCI. & ENG.]" <andrei.kolomenski at nasa.gov>
> Subject: [Radiance-general] Rtrace for Radiance & Irradiance Calc.
> Date: April 9, 2015 7:38:05 AM PDT
> 
> Hello Dear Radiance Users,
> 
>             I have some questions about the utilization of rtrace to determine radiance & irradiance values within a scene. I greatly appreciate your responses and help. To give some context, I’m working on developing a virtual gonio-photometer in Radiance in order to obtain BRDFs of Radiance primitive materials and then export the BRDF data for analysis with other software. To do this I need a clear understanding of how Radiance measures radiance and irradiance with rtrace. First, I will explain my current methodology and please correct me if I’m wrong at any point.
> 
>             A BRDF is a ratio of the reflected radiance of a material over the incident irradiance on the material surface, and this value is evaluated over four spherical angle ranges that define the orientation of the incident light and the orientation of the reflected light as captured by a radiance meter.
> 
>             The units of a BRDF value is (1/steradian), since the units of radiance are (W*m^2/sr.) and the units of irradiance are (W*m^2). Also, radiance is independent of measurement distance unlike irradiance. Due to this the BRDF geometry is constrained to a unit meter hemisphere, with the material sample centered at the origin.

You should actually point the direction vector "straight up" along the normal of your surface, not towards the light source.  This is the cause of your discrepancy between L1 and L2.  Illuminance is measured at the surface, and should account for the cosine angle to the light source(s).

>             To compute the incident irradiance on the material sample I use rtrace with –I argument. I pass the position (0,0,0), the center of the material sample and the direction (x,y,z) that is a unit vector aligned with the optical axis of the light source that points to the center of the light source (ring surface). I’ll call this irradiance value L1.
> 
>             A second way to compute the incident irradiance is to use rtrace with the –i argument and pass position (x,y,z), the position of the light source, and direction (-x,-y,-z) that points toward the origin, which is the center of the sample. I’ll call this irradiance value L2.
> 
>             After looking at the irradiance values it seems like L2 is the Lambert’s cosine corrected irradiance, meaning L2 = L1*cos(theta), where theta is the radial incident angle of the light source. Is this true? If not, can someone please explain the difference between these two irradiance measurements?

See above.  L2 should match L1 when L1's vector matches surface normal, provided your other calculation options match.

>             Also, in the rtrace help page could someone help explain this statement that concerns the –i argument: “This only affects the final result, substituting a Lambertian surface and multiplying the radiance by pi.” I understand that a Lambertian surface is one that is purely diffuse and the radiance and luminance is constant in all directions, but I’m unsure of how this applies to irradiance.

Illuminance = Irradiance convolved with Vlambda using a peak efficacy of 683 lumens/watt at 555 nm.  Same for luminance and radiance.

>             Finally, I need to obtain reflected radiance from the material, and I want to make sure that my radiance measurement doesn’t take into account the radiance emanating from the light source itself. To do this, given an arbitrary radiance meter positon along the unit hemisphere (x,y,z). I setup rtrace with no input arguments other than position (x,y,z) and direction (-x,-y,-z), a unit vector that points to the center of the material (0,0,0), from the radiance meter position (x,y,z).
> 
>             My problem arises when I evaluate the BRDF at various locations. I see a radiance value that is about 3x-4x larger than my measured incident irradiance value, at the position of the specular reflection (mirror-like reflection). Of course, I will see the highest reflected radiance at the specular position, however it seems to be unrealistically large, since somehow more energy is reflected than emanating from the single light source itself. Is this type of behavior common for a metal Radiance primitive that follows the Ward BRDF scattering model? With my current observations, the conservation of energy is not maintained. Do I need to correct the radiance value by a steradian value to be able compare the two as apples to apples? Or am I missing something else.

Since the BRDF is a differential quantity, it can evaluate to greater than 1.0.  Theoretically, it can even be infinite if the surface is purely specular, although the integrated value will be less than 100%

>             I apologize for the long message, but I wanted to be as clear as possible with my questions. Thank you in advance for your time and help.
> 
>  
> 
> Best Regards,
> 
> Andrei Kolomenski
> 
>  
> 
> _______________________________________________
> Radiance-general mailing list
> Radiance-general at radiance-online.org
> http://www.radiance-online.org/mailman/listinfo/radiance-general



More information about the Radiance-general mailing list