BRTDfunc does not work

Hello everyone.

In order to confirm that the dat file reflects the data, we verified the simulation by using extreme data input to the dat file. The dat files used were as follows.

#dat-file
#integrating sphere measurements

HEADER

two-dimensional data array
2
#Reception angle
0 0 17
85 80 75 70 60 55 50 45 40 35 30 25 20 15 10 5 0
#Incident angle
0 0 5
0 20 40 60 80

Body

Data value of transmittance:
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0

#cal-file
{ Computer incident angle in degress (from either side) }
rang (dx,dy,dz) = 180/PIAcos(abs(Nxdx+Nydy+Nzdz));

The material settings are as follows.

void BRTDfunc curtain
11 0 0 0 0.4 0.4 0.4 0 0 0
cal/rang.cal dat/curtain.dat
0
9 0 0 0 0.2 0.2 0.2 0.3 0.3 0.3

In the case of the above file, light should not penetrate through the lace curtains, but in fact light does penetrate.

We would appreciate it if you could let us know if there is anything wrong with the settings.I am waiting your advice to make the best use of RADIANCE.

This probably should generate an error, but you have not used the BRTDfunc primitive correctly. It does not take or understand a data file, and produces only a constant specular transmission of 0.413 with your specification, a diffuse transmission of 0.316, and a diffuse back-side reflection of 0.26. The data file “dat/curtain.dat” and “cal/rang.cal” are not used, and in fact the data file is never even loaded. (The BRTDfunc primitive expects string arguments after the 10th to be a transformation specification, but does not complain if it doesn’t find one.)

You could use the transdata primitive to do what you want, I believe, but it is not straightforward and there is no tutorial I can think of that describes the process. A simpler option is to use brightdata as a modifier to a trans material, and that is an exercise someone on this list can surely help with. If not, then I will write again when I have a little more time later in the week.

Best,
-Greg

Hi Greg,

Thanks for your reply.

Does this mean that there is not a problem with the data file itself, but with the primitive settings in BRTDfunc?

I also appreciate your sharing with us about other ways to do this.
I’ll look into brightdata.

The BRTDfunc primitive is not designed to work with data files at all, which is why I recommended using a brightdata modifier on a trans material. It is still somewhat challenging to get everything to work right, and I am not sure it will do just what you want, because the brightdata modifier will also modify the trans material’s diffuse reflectance.

If you tell me the precise behavior you seek, and the context of your simulation, I can be of greater assistance. The particulars matter in this case.

Best,
-Greg