Modelling a glasshouse: surface roughness in the trans material definition

Dear Radiance users,

I am interested in modelling a peculiar scene which consists of various glass surfaces with different orientations. These glass surfaces exhibit a diffuse component in both reflectance and transmittance, hence I’ve used the trans material definition.

  1. Aside from extended simulation times, are there any other complications that I should consider when modelling such scenes?

  2. How does surface roughness affect the interaction of materials with light?
    Based on my understanding, if I were to compare two glass samples with identical optical and morphological properties and adjusted the roughness of the second one, the rougher glass would have a higher diffuse component.

Note: I am solely concerned with material behavior and not visual appearance, as I am exclusively using rtrace.

  1. Do the effects of surface roughness inherently appear in the diffuse reflectance, transmittance of a material?
    I’ve conducted integrating sphere measurements on a glass sample with a specific roughness. My assumption is that the measured diffuse reflectance/transmittance already accounts for the surface roughness effects, allowing me to set roughness to 0 for the trans material definition.

Your insights are highly appreciated,
Cheers,
Alex

Hi Alex,

We need to distinguish the diffuse and specular components when we talk about Radiance materials (specifically the Ward Geisler-Moroder Dür BSDF used by the trans material).

The diffuse component is always purely Lambertian. It is not affected by the roughness component. The only control you have over it is with the diffuse RGB parameters, which adjust its magnitude in each of the color channels.

The specular component is controlled by the specular and roughness parameters. Increasing the specular parameter will increase the total amount of light that undergoes specular reflection (or transmittance). The remainder, which is not involved in the specular interaction, is available for the diffuse interaction.

Adjusting the roughness parameter controls how the specular component is distributed. A roughness of zero results in no spread to the specular component (e.g., a perfect mirror). Increasing the roughness spreads the specular component out in a Gaussian distribution, without changing the total amount of energy involved in the specular interaction. A material with a high roughness parameter may be visually indistinguishable from a Lambertian material.

In general, if you can see your reflection in the material, it is safe to set the roughness parameter to zero.

1 Like

Hey Nathaniel,

Thank you for being elaborate. Your “rough” explanation was indeed clear (pun intended). However, other aspects of the Radiance material definition are still puzzling me. I’d appreciate your expertise in verifying my understanding.

These properties can be combined through an energy balance given a certain incident angle (for my measurements this was almost normal to the surface) which must hold for every wavelength:
(Td + Ts) + (Rd + Rs) + A = 1

For now, let us ignore spectral effects and use aggregated values:
T = 0.85 & R = 0.12
Td = 0.30 & Rd = 0.03
We can estimate the specular component through:
Ts = T - Td = 0.55
Rs = R - Rd = 0.09

My follow-up question revolves around the interpretation of Rs in the trans material definition:
A7 = Ts / (Td + Ts)
A6 = (Td + Ts) / (Rd + Td + Ts)
A5 = Sr
A4 = Rs
A3 = A2 = A1 = Rd / ((1 - Rs) * (1 - A6))
Is Rs (abbreviated as “spec” in the manual) the absolute specular reflectance (0.09) or is it the fraction of the total R (0.09/0.12 = 0.75)?

Does this extend to other materials like plastic or metal as well?
A5 = Sr
A4 = Rs
A3 = A2 = A1 = Rd / (1 - Rs)

I am going a bit off-topic here, but let’s include spectral effects by calculating the average value for each channel (R, G, B). This would result in three different Rd values:
A4 = Rs
A3 = Rd_blue / ((1 - Rs) * (1 - A6))
A2 = Rd_green / ((1 - Rs) * (1 - A6))
A1 = Rd_red / ((1 - Rs) * (1 - A6))

Similarly to the diffuse component, specular reflectance would also have distinct values for each channel. However, we are constrained to a single Rs​ value (similar to Ts​ and Td​). If I aim to incorporate spectral effects, does this imply that I need to run the simulation separately for each channel?

Cheers,
Alex

The latest HEAD release of Radiance 6.0a has spectral rendering included, but having different reflected and transmitted colors is not well-supported by the trans type. You would be better off using a mixfunc between a 100% transmitting trans and a 100% reflecting one if you want to manipulate the color of each.

Cheers,
-Greg

Hey Greg,

Thank you for the suggestion. I’ll definitely explore that function. However, it appears that, regardless of the function used for generating materials, the only parameter that can be detailed per wavelength band is the total reflectance.

For materials like metal and plastic, we can’t specify the specular fraction across multiple bands, suggesting it’s modeled as a constant value throughout the spectrum. Similarly, in trans materials, we are also confined to a singular value for specular reflectance, alongside specular and diffuse transmittance.

I’ve yet to delve into mixfunc, but currently, the only workaround I can think of is to combine three versions of trans, each having aggregated values per wavelength band.

Cheers,
Alex

It’s true that there is a single RGB color specification for trans, which modifies the diffuse reflected component and both the specular and diffuse transmitted components. This matches the behavior of many, but by no means all transmissive materials. Getting separate control over these component colors does require one or more mixfunc combinations, but you shouldn’t need to render multiple times to get the result you want.