Ellaboration of BSDF "up-vector" for asymmetrical materials like angled veneitan blinds

Hi all

I have a question regarding the BSDF up-vector that I hope somebody might be able to help with -

My previous understanding was that the BSDF “up-vector” should be any vector that is not perfectly perpindicular to the window surface regardsless of the BSDF.

It also seems to be the conclussion from this post:


However reviewing the updated description for HB+

" An optional vector that sets the hemisphere that the BSDF material faces. For materials that are symmetrical about the HBSrf plane (like non-angled venitian blinds), this can be any vector that is not perfectly normal to the HBSrf. For asymmetrical materials like angled veneitan blinds, this variable should be coordinated with the direction the HBSrfs are facing. The default is set to (0.01, 0.01, 1.00), which should hopefully not be perpendicular to any typical HBSrf."

a question come to mind:

  1. For asymmetrical materials how excatly should the up-vector be “coordinated” with the direction of the HBsrf?

Thank you in advance

Best Tobias

That is indeed how it is.

The description in HB[+] docstrings is somewhat misleading. The direction of the up-vector relates to the window-opening (aperture) to which the BSDF is mapped. With regards to your example for angled venetian blinds, as long as the up-vector is not parallel to the direction of the aperture, it should be fine. A similar question had come up on the Radiance forum a few months ago: Modified Three phase Odd radiation levels - #7 by Greg_Ward - radiance-general - discourse.radiance-online.org

1 Like

Thank you for the clarification Sarith!

Hi @sarith ,
When I change the up-vector for my window, I get a very different result with (0.01, 0.01, 1) and (1, 0.01, 0.01). Does it make sense?

It seems that window aligns with the BSDF up-vector in one case and in one case it (obviously) doesn’t. Because you are getting almost the same value of radiation in the room as the ground plane. It’s hard to tell more without looking at the files.

Regards,
Sarith

Thanks for the response.

[quote=“sarith, post:5, topic:4894”]
It seems that window aligns with the BSDF up-vector in one case and in one case it (obviously) doesn’t.
[/quote] The normal of window surface is parallel to Y axis while the input up-vector is either X or Z axis (not perpendicular to the window surface)
How could be aligned with together?

I attached my file here.
Thanks

BSDF (2).gh (515.8 KB)

Can you share the Radiance folder written out by HB[+]? My Rhino installation is having some issues.

The files attached here;
In X.rar up-vector is X axis and in Z.rar up-vector is Z axis.

X.rar (221.5 KB) Z.rar (237.0 KB)

I am not sure if this is due to a manual edit or a bug in HB[+], but the path name for the BSDF file in your .mat file in both instances is incorrect.
This…

void BSDF bsdfxml
6 0.0 scene/bsdf/bsdfxml.xml 1.0 0.01 0.01 .
0
0

…should be…

void BSDF bsdfxml
6 0.0 scene/bsdf/bsdf.xml 1.0 0.01 0.01 .
0
0

Additionally, the location details in your sky definitions in both cases are different. In X it is:

# c:\radiance\bin\gensky 3 22 12 -a 35.87 -o 78.78 -m 75.0 +s
# Local solar time: 11.63
# Solar altitude and azimuth: 53.8 -9.4
# Ground ambient level: 15.2

void light solar
0
0
3 6.96e+06 6.96e+06 6.96e+06

solar source sun
0
0
4 0.096791 -0.583197 0.806544 0.5

void brightfunc skyfunc
2 skybr skybright.cal
0
7 1 1.24e+01 2.45e+01 7.40e-01 0.096791 -0.583197 0.806544

…and in Z it is…

# c:\radiance\bin\gensky 3 22 12 -a 40.78 -o 73.97 -m 75.0 +s
# Local solar time: 11.95
# Solar altitude and azimuth: 49.2 -1.1
# Ground ambient level: 15.0

void light solar
0
0
3 6.87e+06 6.87e+06 6.87e+06

solar source sun
0
0
4 0.012992 -0.653101 0.757159 0.5

void brightfunc skyfunc
2 skybr skybright.cal
0
7 1 1.08e+01 2.29e+01 6.44e-01 0.012992 -0.653101 0.757159

The above points (likely) explain why your results are off.

Regards,
Sarith

Thanks @sarith . Sorry for the late response.
I do not know why the skies were different in the files, but I revised them and again got very different results. The revised versions are attached hereunder:

X-Revised.rar (236.8 KB)
Z-Revised.rar (236.9 KB)

The model appears to be okay in both cases (disregard the arrows).
For X:


For Z:

Your calculation parameters for illuminance appear to be quite low.
-aa 0.25 -ab 2 -ad 512 -ar 16 -as 128 -dc 0.25 -dj 0.0 -dp 64 -ds 0.5 -dr 0 -dt 0.5 -e error.txt -h -I -lr 4 -lw 0.05 -ss 0.0 -st 0.85
I think something like…
-aa 0.05 -ab 5 -ad 2048 -ar 1024 -as 1024 -dc 0.25 -dj 0.0 -dp 64 -ds 0.5 -dr 0 -dt 0.5 -e error.txt -h -I -lr 4 -lw 0.05 -ss 0.0 -st 0.85
will likely bring both cases to convergence. If that is still not the case, I would suggest reporting this on the Radiance discourse forum. By the way, why are you focusing on the up-vector orientation specifically?