Trans Material components (problem with colour)

Dear @mostapha and @chris,

I guess there is a problem with the components radTransMaterial and radTransMaterialByColor. In particular, I mean regarding the error:

“Sum of Diffuse Transmission, Specular Transmission,Specular Reflection and Diffuse Reflection cannot be more than 1.”

Although It’s true that the sum of those coefficients cannot be more than 1, in fact, none of them represents the color, it seems that the components assume colour == diffuse reflectance.

According to Radiance Cookbook (page 23):

diffuse reflectance = (1 − spec) × colour × (1 − trans)

Please correct me if I’m wrong.



I think I found a solution. Please see the attached file. (471.5 KB)

As you see, both radTransMaterial and radTransMaterialByColor components announce errors.

I made a GH python component based on the Radiance Cookbook. Its inputs are “r,g,b,spec,rough,trans,tspec”. For example its values are set like this rad file (40%VLT) available here.

The outputs are: specular reflectance (Rs) , diffuse reflectance (Rd), absorbtion, diffuse transmittance (Td), specular transmittance (Ts). It also double-checks if x ≤ 1 ( x = Rs + Rd + Td + Ts ).

Please let me know if you found problems with my proposed solution. Otherwise, if you found it useful, please feel free to use/integrate it in LB/HB.



@PeterZatko and I started a discussion about implementing a more thorough approach for trans materials a few months back: Unfortunately, I haven’t had the time to get back to it since. Christoph Reinhart and Marilyne Andersen had done a fairly extensive investigation of trans and other type of translucent materials back in 2006.

1 Like