[Radiance-general] Re: Warning message and glass definition

Greg Ward [email protected]
Sat, 4 Oct 2003 22:40:06 -0700


Thanks, Rob, for responding to Arvinder's questions.  I have nothing to 
add to your comments on the warning, but let me add a bit to your 
response on glazings.

First, I agree that Arvinder should go with the glass type.  The 
library glass type is probably not appropriate, and you are better off 
defining your own.  The specification you came up with:

void glass class_lglass
0
0
3
0.927 0.927 0.927

is very close to correct.  I assume you used the formula recommended in 
the Radiance reference manual, or else the identical one from Chapter 4 
(page 240) of "Rendering with Radiance":

{ ---------------- trans1.52.cal --------------- }
sq(x) : x*x;
n = 1.52;				{ index of refraction }
rn = sq((1-n)/(1+n));		{ normal reflectivity }
					{ normal transmissivity }
tn = (sqrt(sq(sq(1-rn))+4*sq(rn*Tn))-sq(1-rn))
			/ (2*rn*rn*Tn);

I actually got a slightly different value when I used 85% as the 
transmittance:  tn=0.926 for Tn=0.85.  However, the part that isn't 
documented for you is the formula for normal reflectance, which is:

Rn=rn+rn*(1-rn)*sq(tn)*(1-sq(tn)*sq(rn))/(2-sq(tn)*sq(rn));

If you add this to the above file and run calc on, you'll find that by 
plugging in an index of refraction of 1.52 (the default for glass), 
your normal reflectance is 6% rather than your desired 5%.  To get a 
value of 5%, I had to play around with the index of refraction in calc 
until I got something close, as the formula is rather nasty to solve 
exactly.  What I came up with was n=1.465, which gives a transmissivity 
of 0.913.  Your glass specification then becomes:

void glass class_lglass
0
0
4
0.913 0.913 0.913 1.465

This is the specification you should use.  Notice the extra argument to 
specify the index of refraction.

It would be much simpler if Radiance took the normal reflectance and 
transmittance of the glazing and figured out the transmissivity and 
index of refraction for you.  The only downside is that you wouldn't 
really know whether the values you'd be giving it were physically 
realizable.  You might want to give a transmittance of 90% and a 
reflectance of 8%, thinking that were perfectly reasonable as it 
doesn't sum to 100%.  Oddly enough, no such pane of glass exists or 
could be made in the real world.  This is why the specification is for 
the normal transmissivity (the light not absorbed in one pass through 
the glass interior), which is legal anywhere between 0 and 1, and the 
index of refraction, which is well-studied and available in tables and 
can be inferred by measurements.

The exact behavior of glass as a function of angle is a bit 
complicated, even though it is physically one of the simplest materials 
to model.  Section 3.3 of 
<http://floyd.lbl.gov/radiance/refer/materials.pdf> gives the full 
formula if you feel like diving into the deep end, as it seems you do.

-Greg