ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/cv/window.cal
Revision: 2.1
Committed: Fri May 19 03:50:13 2006 UTC (17 years, 11 months ago) by greg
Branch: MAIN
CVS Tags: rad5R4, rad5R2, rad4R2P2, rad5R0, rad5R1, rad4R2, rad4R1, rad4R0, rad3R8, rad3R9, rad4R2P1, rad5R3, HEAD
Log Message:
Created optics2rad script for converting Optics materials to Radiance

File Contents

# Content
1 { RCSid $Id$ }
2 {
3 The following calculation uses the BRTDfunc type to reproduce the
4 calculation used by LBL's Optics 5 program for the transmittance
5 and reflectance of coated glazings. This calculation is based
6 on fits for the angular dependence for clear and bronze-coated
7 glazing, and is not terribly accurate. The variables ??_clear
8 below should be replaced by ??_bronze in the case of the bronze
9 glazing model. Used with optics2rad script.
10
11 5/18/2006 Greg Ward
12
13 Arguments used for this material should look like:
14
15 mod BRTDfunc my_glazing
16 10 rR_clear rG_clear rB_clear
17 RTAU*tR_clear GTAU*tG_clear BTAU*tB_clear
18 0 0 0
19 window.cal
20 0
21 15 0 0 0
22 0 0 0
23 0 0 0
24 FRRHO FGRHO FBRHO
25 BRRHO BGRHO BBRHO
26
27 where:
28 FRRHO FGRHO FBRHO is front normal spectral reflectance
29 BRRHO BGRHO BBRHO is back normal spectral reflectance
30 RTAU GTAU BTAU is normal spectral transmittance
31 }
32 { get normal reflectance }
33 rbase = if(Rdot,10,13); { different front and back }
34 Rred = arg(rbase)*CrP;
35 Rgrn = arg(rbase+1)*CgP;
36 Rblu = arg(rbase+2)*CbP;
37 { transmittance coefficients }
38 Tclear = clip(-.0015 + RdotP*(3.355 + RdotP*(-3.840 +
39 RdotP*(1.460 + RdotP*.0288))));
40
41 Tbronze = clip(-.002 + RdotP*(2.813 + RdotP*(-2.341 +
42 RdotP*(-.05725 + RdotP*.599))));
43
44 { reflectance coefficients }
45 Rclear = clip(.999 + RdotP*(-.563 + RdotP*(2.043 +
46 RdotP*(-2.532 + RdotP*1.054))) - Tclear);
47
48 Rbronze = clip(.997 + RdotP*(-1.868 + RdotP*(6.513 +
49 RdotP*(-7.862 + RdotP*3.225))) - Tbronze);
50
51 { returned spectral transmittance }
52 tR_clear = CrP*Tclear;
53 tG_clear = CgP*Tclear;
54 tB_clear = CbP*Tclear;
55
56 tR_bronze = CrP*Tbronze;
57 tG_bronze = CgP*Tbronze;
58 tB_bronze = CbP*Tbronze;
59 { returned spectral reflectance }
60 rR_clear = Rred*(1 - Rclear) + Rclear;
61 rG_clear = Rgrn*(1 - Rclear) + Rclear;
62 rB_clear = Rblu*(1 - Rclear) + Rclear;
63
64 rR_bronze = Rred*(1 - Rbronze) + Rbronze;
65 rG_bronze = Rgrn*(1 - Rbronze) + Rbronze;
66 rB_bronze = Rblu*(1 - Rbronze) + Rbronze;