front and back transmission in BSDF

Hello:

What is the definition of "front" and "back" transmission in the BSDF xml
file? I test using BSDF files of Window 6 and genBSDF, and find that it
uses "Transmission Back" to calculate radiance. "genBSDF +forward -backward
test.rad > test.xml" gave zero illuminance. So "back" denotes from
outside to inside (towards inside the room)? that is, the incident ray
falls on the outside window surface?

However, the three-phase daylight coefficient method tutorial mentions
that Radiance uses "front transmission" data. In addition, in source code:
bsdf.c, line 1343:

                    # line 1343
if (!strcasecmp(ezxml_txt(ezxml_child(wdb,
"WavelengthDataDirection")),
"Transmission Front"))
break;

It looks using "transmission front".

Which (front or back) transmission does Radiance use?

Thanks,

Jia

Hi Jia,

It is confusing, because WINDOW 6 defines the front of a window as the outward-looking face, whereas Radiance faces window surfaces inwards when they are used as light sources. Thus, the notion of front and back get reversed between the WINDOW 6 XML file and Radiance.

In addition to this, there is the fact that Radiance generally follows rays backwards from their destination (the point of measurement) to their source. Therefore, calculations in the interior of the space trace light rays backwards to the window surface, then use the WINDOW 6 "Transmission Back" data to compute light contributions from the other side.

One more thing that bears mentioning is that if only one of "Front Transmission" or "Back Transmission" is available in the XML file, the BSDF library knows how to apply reciprocity to estimate the opposite direction. Thus, using only one of "+forward" or "+backward" in genBSDF still works for transmission. For reflection, you need to compute the distribution for the side(s) in which you are interested.

To be absolutely clear, the "+forward" computes the WINDOW 6 "Front Transmission" and "Front Reflection" components, whereas the "+backward" option computes "Back Transmission" and "Back Reflection." The back/front confusion is why I chose to call these options "forward" and "backward" rather than "front" and "back," which would be ambiguous. Forward means rays entering the space from the outside, and backward means they are going the other way, which is generally what we are interested in with Radiance (hence the default "+backward" and "-forward" options.)

I hope this helps.
-Greg

···

From: Jia Hu <[email protected]>
Date: October 15, 2012 8:49:42 PM PDT

Hello:

What is the definition of "front" and "back" transmission in the BSDF xml file? I test using BSDF files of Window 6 and genBSDF, and find that it uses "Transmission Back" to calculate radiance. "genBSDF +forward -backward test.rad > test.xml" gave zero illuminance. So "back" denotes from outside to inside (towards inside the room)? that is, the incident ray falls on the outside window surface?

However, the three-phase daylight coefficient method tutorial mentions that Radiance uses "front transmission" data. In addition, in source code: bsdf.c, line 1343:

                    # line 1343
      if (!strcasecmp(ezxml_txt(ezxml_child(wdb,
          "WavelengthDataDirection")),
          "Transmission Front"))
        break;

It looks using "transmission front".

Which (front or back) transmission does Radiance use?

Thanks,

Jia

Thank you very much for your detailed explanation. From WINDOW 6 manual,
Incoming and outgoing ray direction in XML is defined as this:
https://dl.dropbox.com/u/15562376/angle.gif So, simply speaking
(without considering RGB channels), in the formula E = VTDs, T ("back" in
WINOW 6 convention) is actually transposed from the XML file then
multiplied by solid angle for each direction?

Thanks,

Jia

···

On Tue, Oct 16, 2012 at 12:47 AM, Greg Ward <[email protected]> wrote:

Hi Jia,

It is confusing, because WINDOW 6 defines the front of a window as the
outward-looking face, whereas Radiance faces window surfaces inwards when
they are used as light sources. Thus, the notion of front and back get
reversed between the WINDOW 6 XML file and Radiance.

In addition to this, there is the fact that Radiance generally follows
rays backwards from their destination (the point of measurement) to their
source. Therefore, calculations in the interior of the space trace light
rays backwards to the window surface, then use the WINDOW 6 "Transmission
Back" data to compute light contributions from the other side.

One more thing that bears mentioning is that if only one of "Front
Transmission" or "Back Transmission" is available in the XML file, the BSDF
library knows how to apply reciprocity to estimate the opposite direction.
Thus, using only one of "+forward" or "+backward" in genBSDF still works
for transmission. For reflection, you need to compute the distribution for
the side(s) in which you are interested.

To be absolutely clear, the "+forward" computes the WINDOW 6 "Front
Transmission" and "Front Reflection" components, whereas the "+backward"
option computes "Back Transmission" and "Back Reflection." The back/front
confusion is why I chose to call these options "forward" and "backward"
rather than "front" and "back," which would be ambiguous. Forward means
rays entering the space from the outside, and backward means they are going
the other way, which is generally what we are interested in with Radiance
(hence the default "+backward" and "-forward" options.)

I hope this helps.
-Greg

> From: Jia Hu <[email protected]>
> Date: October 15, 2012 8:49:42 PM PDT
>
> Hello:
>
> What is the definition of "front" and "back" transmission in the BSDF
xml file? I test using BSDF files of Window 6 and genBSDF, and find that
it uses "Transmission Back" to calculate radiance. "genBSDF +forward
-backward test.rad > test.xml" gave zero illuminance. So "back" denotes
from outside to inside (towards inside the room)? that is, the incident
ray falls on the outside window surface?
>
> However, the three-phase daylight coefficient method tutorial mentions
that Radiance uses "front transmission" data. In addition, in source code:
bsdf.c, line 1343:
>
> # line 1343
> if (!strcasecmp(ezxml_txt(ezxml_child(wdb,
> "WavelengthDataDirection")),
> "Transmission Front"))
> break;
>
> It looks using "transmission front".
>
> Which (front or back) transmission does Radiance use?
>
> Thanks,
>
> Jia

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

You can think of it that way. In fact, the reversal of axes on front and back surfaces means that it is not necessary to transpose the data in the matrix. This is the way Joe Klems designed the system, for easy multiplication of layer matrices.

Best,
-Greg

···

From: Jia Hu <[email protected]>
Date: October 16, 2012 8:27:17 AM PDT

Thank you very much for your detailed explanation. From WINDOW 6 manual, Incoming and outgoing ray direction in XML is defined as this: https://dl.dropbox.com/u/15562376/angle.gif So, simply speaking (without considering RGB channels), in the formula E = VTDs, T ("back" in WINOW 6 convention) is actually transposed from the XML file then multiplied by solid angle for each direction?

Thanks,

Jia

On Tue, Oct 16, 2012 at 12:47 AM, Greg Ward <[email protected]> wrote:
Hi Jia,

It is confusing, because WINDOW 6 defines the front of a window as the outward-looking face, whereas Radiance faces window surfaces inwards when they are used as light sources. Thus, the notion of front and back get reversed between the WINDOW 6 XML file and Radiance.

In addition to this, there is the fact that Radiance generally follows rays backwards from their destination (the point of measurement) to their source. Therefore, calculations in the interior of the space trace light rays backwards to the window surface, then use the WINDOW 6 "Transmission Back" data to compute light contributions from the other side.

One more thing that bears mentioning is that if only one of "Front Transmission" or "Back Transmission" is available in the XML file, the BSDF library knows how to apply reciprocity to estimate the opposite direction. Thus, using only one of "+forward" or "+backward" in genBSDF still works for transmission. For reflection, you need to compute the distribution for the side(s) in which you are interested.

To be absolutely clear, the "+forward" computes the WINDOW 6 "Front Transmission" and "Front Reflection" components, whereas the "+backward" option computes "Back Transmission" and "Back Reflection." The back/front confusion is why I chose to call these options "forward" and "backward" rather than "front" and "back," which would be ambiguous. Forward means rays entering the space from the outside, and backward means they are going the other way, which is generally what we are interested in with Radiance (hence the default "+backward" and "-forward" options.)

I hope this helps.
-Greg