@sebavan Thank you for your response.
If you see the code below:
let linearColor = GLTFMaterial.albedoColor.toLinearSpace();
GLTFMaterial.albedoColor = new Color3(linearColor.r, linearColor.g, linearColor.b);
I am just applying Linear values to the Linear defined color values in the shader right?
If this is the case, the color would not change and the Inspector would display the same values right?
Now, below is the material reference from Unity which is using Linear color space(You can also see the color value from the Unity Inspector):
This is the GLTF material where you can see the defined color value:
So, (r, g, b) are basically set to 0.38.
Below you can see the material being loaded and applied to the sphere in Babylon without applying the code I mentioned above:
You can clearly see the values are displayed in Gamma, but you can also see that the material is brighter than the material in unity with the same values and color space…
Below you can see the result of the code applying the same Linear value. This is what happens to the material on the sphere:
My conclusion is that, when the GLTF material gets loaded into the scene, the color values are being converted to Gamma and then applied as Linear. Otherwise, why would I get a different (the correct for me actually) result when applying Linear color value to the same Linear color value?!
Thank you for the time and effort. I hope you understand my point.