MDL omniverse vs MDL Iray for rhino

I just noticed a big difference between the core definition in omniverse create and Irary for rhino.
I do not understand very well
in logic the two should be the same


I am not sure what you are referring to, the fact that the ui is different for the color picker or that the material looks different?

The UI for the color picker depends on the application, so they will not look the same.

If you refer to the fact that the rhino glass looks darker: there are 2 parameters coloring the glass, transmission_color and volume_color. If volume color is not perfectly white ( in OV it seems 95% grey) this will darken the color depending on thickness. So if the 2 glass planes have different thickness, they will look different.
Another issue might be different color spaces for the color picker (SRGB vs linear SRGB)you can verify that the parameters in the MDL material are really the same by exporting it to disk and look up the parameters in the mdl file.

In general, core_definitions are the same and will look the same with the same scene, lighting and tonemap setup. Rhino might use a slightly older version that differs in how roughness works (thick_glass vs thick_glass_v2)

HI @jjordan

Thank you for your message.
I am using the version of Iray for Rhino build 1.5.426 and it is using the V2 version fine. Regarding the color picker, the developer’s response is that it is sRGB but not linear sRGB.
I have a little trouble with this gamma inversion even if I understand the meaning.
For example, I have a single glazing with a thickness of 6mm which has a transmission measurement of:
L * a * b * of L = 81.05 a = -8.84 b = 11.2
converts to SRGB:
R = 171 G = 207 B = 222
Should I use RGB values with or without gamma correction?

Thick_glass_002.mdl (1.2 KB)

Below is a glazing of 0.5mx0.5m with a thickness of 6mm with the values R = 171 G = 207 B = 222, that it is the right method so that the result obtained by the measurement corresponds at best with Iray " Rhinou or Omniverse "?
if you could help me clear up my doubts about the correct way to use this result.

transmission result:
transmission

and my question in the Iray forum:
https://www.irayplugins.com/forum/showthread.php?59233-LPE-Light-Path-Expression

Repeating some of the stuff you already know :-D
When modeling glass, its first important to know whether you want to model it as a “thin sheet” (thin glass in core_definition) or Geometry modelling the real thickness and volume.

if you model it as thin glass its relatively simple, you can directly enter the color in rhino because sRGB is what the ui directly takes. In Create, the UI is “linear sRGB” so you will need to degamma the value to get the same result.
so in OV create the color would be 0.405, 0.625, 0.728 (according to https://davengrace.com/cgi-bin/cspace.pl)

In the MDL files, all values will be also linear sRGB (the mdl file always contains linear values) The mdl file you attached does not contain the colors though.

As your example shows, for volume glass you have 2 choices:
coloring in the volume
using volume_color, if you use the right thickness, you get largely the same result as with thin_glass.

Note that both the thin_walled and volume case will not be exactly the same and and both will have slightly more absorption then the measurement since some energy will be reflected and this will also be accounted as transmission loss! if looked straight at the glass, the thin_walled case will be 4% to dark (1 reflection) and the volume case even darker(2 reflections + 6cm is the shortest path through the glass but many paths are longer)

For the 3rd case (thick glass with "transmission_color) it is not as simple. Since transmission color is applied when entering and leaving the glass, if you use the same color as in the other case, your glass will absorb twice the amount of light.
If we do the math in linear color space, we can just multiply the colors, ie total transmission_color=transmission_color^2. Inversely , you can compute the linear sRGB value by simply sqrt( 0.405, 0.625, 0.728 ) = 0.636,0.791,0.853 and we can directly enter this as transmission color in OV create. For Rhino, we also need to apply gamma ->209,230,238 should get you closer to the other 2 in Rhino, energy loss should be between the 2.

The error i spoke of earlier can be accurately compensated for the thin_walled glass with reasonable effort, so daylight studies, thin walled glass is the model of choice

1 Like

thank you for his valuable explanations to me, I am using Iray with Rhino as part of a project in my company on rendering glazing. I am doing tests on Omniverse create because there is also Iray ^^.
Finding out how to be consistent in the two programs would be great.
I’ll try to practice the conversions in Create and share the results.
thank you JJordan

I just tried to use linear RGB values but the color rendering is not the same as Iray for Rhino. Having the glass sample at the office, I can tell you that the color looks more like the Iray rendering for Rhino.
In Omniverse I lowered the light dome exposure to -1.8 but that does not resolve this difference.

On the left the color is sRGB and on the right linear RGB

I made a mistake in the thickness of the glass it was 6cm instead of 6mm so the copparation was obviously not good.

In any case again thank you for the explanations as well as the link to the color converter, I will continue to search and test

good to you